1完整备份周一
rm -rf /xtrabackup/*
date 10010000 改变日期
创建一个表
create database testdb;
use testdb;
create table test2(id int);
insert into test2 values(1);
select * from test2;
完整备份周一 innobackupex --user=root --password='QianFeng@123' /xtrabackup
差异备份周二
date 10020000 设置日期10.2日(为了方便看数据库区别)
mysql -uroot -p'QianFeng@123' -e 'insert into testdb.test2 values(2)' 数据库插入值2(为了看出跟周一的区别)
备份周二
innobackupex --user=root --password='QianFeng@123'
--incremental /xtrabackup
--incremental-basedir=/xtrabackup/2017-10-01_00-01-12
差异备份周三
date 10030000
mysql -uroot -p'QianFeng@123' -e 'insert into testdb.test2 values(3)'
备份周三
innobackupex --user=root --password='QianFeng@123'
--incremental /xtrabackup
--incremental-basedir=/xtrabackup/2017-10-01_00-01-12
差异恢复流程
systemctl stop mysqld 停止数据库
rm -rf /var/lib/mysql/* 模拟数据库被破坏
重演回滚redo log(周一,某次差异)--> 恢复数据
innobackupex --apply-log --redo-only /xtrabackup/2017-10-01_00-01-12 定义回滚到周一
innobackupex --apply-log --redo-only
/xtrabackup/2017-10-01_00-01-12
--incremental-dir=/xtrabackup/2017-10-03_00-00-29 把周三加到周一上去
innobackupex --copy-back /xtrabackup/2017-10-01_00-01-12 回滚到周一 (相当于回滚到周三)
chown -R mysql.mysql /var/lib/mysql/ 修改它的配置权限
systemctl start mysqld 启动MySQL ,实验成功