mysql innobackupex增量备份

注意:innobackupex 增量备份仅针对InnoDB这类支持事务的引擎,对于MyISAM等引擎,则仍然是全备。
增量备份:
增量备份需要基于全备,先假设我们已经有了一个全备(/backup/2016-12-07_17-33-09),我们需要在该全备的基础上做增量备份。
全备
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 /backup/
 
增量
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --incremental-basedir=/backup/2016-12-07_17-33-09/ --incremental /backup
增量
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --incremental-basedir=/backup/2016-12-08_11-01-43/ --incremental /backup
其中--incremental-basedir指向全备目录,--incremental指向增量备份的目录。
上面语句执行成功之后,会在--incremental执行的目录下创建一个时间戳子目录(本例中为:/backup/mysql/data/2013-10-29_09-52-37),在该目录下存放着增量备份的所有文件。
在备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息,全备的信息如下:
[root@bogon backup]# cd 2016-12-07_17-33-09/
[root@bogon 2016-12-07_17-33-09]# cat xtrabackup_checkpoints 
backup_type = full-prepared
from_lsn = 0
to_lsn = 1595669
last_lsn = 1595669
compact = 0
recover_binlog_info = 0
[root@bogon 2016-12-08_11-01-43]# cat xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1595669
to_lsn = 1601979
last_lsn = 1601979
compact = 0
recover_binlog_info = 0
[root@bogon backup]# cd 2016-12-08_11-03-28/
[root@bogon 2016-12-08_11-03-28]# cat xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1601979
to_lsn = 1604021
last_lsn = 1604021
compact = 0
recover_binlog_info = 0
从上面可以看出,增量备份的from_lsn正好等于全备的to_lsn。
那么,我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir执行上一次增量备份的目录即可
恢复:
增量备份的恢复比全备要复杂很多,第一步是在所有备份目录下重做已提交的日志,如:
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /backup/2016-12-07_17-33-09/
 
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /backup/2016-12-07_17-33-09/ --incremental-dir=/backup/2016-12-08_11-01-43/
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/ --incremental-dir=/backup/2016-12-08_11-03-28/
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/

其中 2016-12-07_17-33-09/ 是指全备目录, 2016-12-08_11-01-43/ 是指第一次的增量备份, /2016-12-08_11-03-28/ 指第二次的增量备份,以此类推。
这里要注意的是:最后一步的增量备份并没有--redo-only选项!还有,可以使用--use_memory提高性能。
以上语句执行成功之后,最终数据在BASE-DIR(即全备目录)下。
第一步完成之后,我们开始第二步:回滚未完成的日志:
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/
上面执行完之后,BASE-DIR里的备份文件已完全准备就绪,最后一步是拷贝:

 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --copy-back /backup/2016-12-07_17-33-09/
修改权限

[root@bogon var]# chown mysql.mysql /home/mysql/mysql_5535/var/ -R

[root@bogon var]# /home/mysql/mysql_5535/bin/mysql.server start




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25911813/viewspace-2130029/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25911813/viewspace-2130029/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值