前提
备份:
周一全备
周二-周五 基于周一全备的 增量
还原:
全备+最后一次增量备份
一还原场景准备:
1 全备
2 master 写入数据
3 master增量备份
4 master写入数据 【为了做数据补偿】
二 从库宕机
1 slave2 停服
2 删除 数据文件 rm -rf /data/mysql/datafile/*
三 从库还原
1 将全备和增量文件拷贝到slave2
- scp -r xtra_full_2020-06-23-1432 appadmin@'10.224.18.102':/tmp
- scp -r xtra_incr_2020-06-24-1026 appadmin@'10.224.18.102':/tmp
2 slave2 重演回滚
- innobackupex --apply-log --redo-only xtra_full_2020-06-23-1432/
- innobackupex --apply-log /tmp/xtra_full_2020-06-23-1432/ --incremental-dir=/data/xtrabackup/day/increment/xtra_incr_2020-06-24-1026
- innobackupex --copy-back xtra_full_2020-06-23-1432
5 slave2 登录mysql 【使用老账号】,验证数据
四 数据补偿
1 master找到binlog位置节点
mysqlbinlog -vv --base64-output=decode-rows mysql-bin.000008 >/tmp/tail.sql
mysqlbinlog --start-position=571 mysql-bin.000008>/tmp/tail.sql
2 scp /tmp/tail.sql appadmin@‘slave2’:/tmp
3 slave2 登录mysql
mysql>source /tmp/tail.sql