分享

innobackupex增量備份恢復時的BUG解決方法

 用勿龍潛 2012-12-09

innobackupex增量備份恢復時的BUG解決方法

http://space./22664653/viewspace-713127    这位哥们用innobackupex做增量备份时,发生了增量的数据丢失。今天在做增量的时候发现了一个小小过程,算是解决了这个问题。
下面是我的整个过程,如有那个地方是错误的,看过的人麻烦指点小弟。谢啦!!  图片有可能不是很清晰,大家见谅!!

测试环境
我的环境是多实例,所有在下面的参数中传递了defaults-file,基于多实例备份,可以传递个假的配置文件给innobackupex, 这个配置文件中把对应的GNR,改为[mysqld],那么就可以备份了。!
clipboard.png

1.完整备份,这是增量备份的基础
innobackupex --defaults-file=/var/lib/my.cnf --user=backup --password=mysql --socket=/tmp/mysql0001.sock --parallel=8 /var/backup/

添加数据
aa.png

2.增量备份
innobackupex --user=backup --password=mysql --socket=/tmp/mysql0001.sock --defaults-file=/var/lib/my.cnf --parallel=8 --incremental /var/backup/ --incremental-basedir=/var/backup/2012-04-30_08-41-14/  完整备份目录上做第一次增量备份

如果默认存储引擎是基于MyISAM,那么增量备份时备份的文件分别是.frm、.MYD、.MYI。
bb.png

如果默认存储引擎是基于InnoDB,那么增量备份时备份的只会是.frm文件,我的配置文件所采用的是独立表空间
cc.png

note:此过程仅影响XtraDB或基于InnoDB的表,其他带不同存储引擎的表会在增量备份出现时被完全复制

恢复过程也需要用到prepare
首先,提交事务必须重新执行每一个备份
然后,未提交事务必须回退

模拟故障
dd.png

回滚未提交的事务
innobackupex --defaults-file=/var/lib/my.cnf --apply-log --redo-only /var/backup/2012-04-30_08-41-14/

第一个增量备份应用到完整备份
innobackupex --defaults-file=/var/lib/my.cnf --apply-log --redo-only  /var/backup/2012-04-30_08-41-14/ --incremental-dir=/var/backup/2012-04-30_08-42-23/


bb.png

以上信息都是在增量备份应用到完整备份时输出信息,图一是MyISAM,图二是InnoDB,它们都会创建一个/var/backup/2012-04-30_08-41-14eugene目录,里面的信息都是增量备份的内容。

恢复备份
clipboard.png
增量备份只是把增量备份的内容,恢复到新建目录/var/backup/2012-04-30_08-41-14eugene下,而没有恢复到/var/backup/2012-04-30_08-41-14/eugene/ 完整备份目录中的数据库当中去。所以需要手工把文件移动到完整备份的数据库目录当中去,如不执行这步,那么还原回来的数据只是完整备份的数据,而所做的增量就消失了。

clipboard.png
千万不要选择y,不然会覆盖掉你表结构。如果选择y,那么你select * from test;会提示这个test表不存在!!!

innobackupex --defaults-file=/var/lib/my.cnf --copy-back /var/backup/2012-04-30_08-41-14

chow -R mysql.mysql /opt/mysql/data/0001/*
/etc/init.d/rc.mysqlmulti start 0001
clipboard.png

aa.png(9.51 KB, 下载次数: 4)

aa.png

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多