Xtrabackup增量备份的恢复

环境:Linux
服务器:1.135

增量备份的恢复主要3个步骤

1、恢复完全备份

2、恢复增量备份到完全备份(开始恢复的增量备份要添加–redo-only参数,到最后一次增量备份去掉–redo-only参数)

3、对整体的完全备份进行恢复,回滚那些未提交的数据

备份

在另外一台测试上面做了一个全量备份和两个增量的备份,把数据传到1.135上开始恢复。

全量备份的文件目录是:/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/
增量备份的文件目录是:/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-43-43
/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-53-46

因为备份都是压缩的备份,所以在恢复的时候首先得解压。

#解压全备文件
innobackupex --decompress /data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/

#解压增备文件
innobackupex --decompress /data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-43-43/

innobackupex --decompress /data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-53-46/

准备阶段

完全备份的还原

恢复完全备份(注意这里一定要加–redo-only参数,该参数的意思是只应用xtrabackup日志中已提交的事务数据,不回滚还未提交的数据)

innobackupex --defaults-file=/ect/my.cnf --apply-log --redo-only \
/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/

注意如果后续必须应用增量备份,则必须加上–redo-only. 否则后续不能应用增量备份。如果在恢复全备时没有应用参数–redo-only ,后面应用增量备份时会报错误。只有当最后一个增量备份时,才不需要–redo-only。

如果分不清增量备份先后顺序,可以在备份文件的目录下可以查看备份的记录信息。查看from_lsn、to_lsn 、last_lsn 的值来判断先后顺序。

[root@135mysqlyd /data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39]# cat xtrabackup_checkpoints 

backup_type = full-backuped
from_lsn = 0
to_lsn = 17151505
last_lsn = 17151514
compact = 0
recover_binlog_info = 0
增量备份1的还原

准备第一个增量备份的还原,注意需要添加–redo-only 参数

innobackupex --defaults-file=/ect/my.cnf --apply-log --redo-only \
/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/ \
--incremental-dir=/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-43-43/

注意:增量备份必须按一定顺序Apply,否则后面的增量备份都无效了

增量备份2的还原

因为是最后一个增量,所以不需要再添加–redo-only

innobackupex --defaults-file=/ect/my.cnf --apply-log  \
/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/ \
--incremental-dir=/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-53-46/

恢复

停止mysql的服务,并且清空数据目录

[root@135mysql ~]# service mysql stop
Stopping mysql (via systemctl):                            [  OK  ]

[root@135mysql ~]# rm -rf /data/mysql/mysql3306/data/*

将备份文件拷贝回MySQL数据目录。

innobackupex --defaults-file=/etc/my.cnf --copy-back /data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/

配置权限

[root@135mysql ~]# chown -R mysql:mysql /data/mysql/

启动数据库检查数据

[root@135mysql ~]# service mysql start
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值