创建备份位置:
mkdir -p /backup/complete
mkdir -p /backup/inc1
mkdir -p /backup/inc2
进行一起全备:
innobackupex /backup/complete/
进入数据库,写入数据并进行第一次增量备份:
create database my;
use my;
create table you(id char(10),age char(10));
insert into you(id,age) values('1','10');
innobackupex --incremental /backup/inc1 --incremental-basedir=/backup/complete/2020-12-18_02-36-04/
进入数据库,写入数据并进行第二次增量备份:
insert into you (id,age) values('3','12');
insert into you (id,age) values('4','10');
innobackupex --incremental /backup/inc2 --incremental-basedir=/backup/inc1/2020-12-18_02-40-56/
删除数据(模拟事故):
drop table you;
进行恢复:数据库要关闭并且注意数据库目录必须为空
systemctl stop mysqld
rm -rf /var/lib/mysql/*
操作全量备份进行回滚:
innobackupex --apply-log --redo-only /backup/complete/2020-12-18_02-36-04/
操作第一次增量备份将第一次增量备份应用到完全备份:
innobackupex --apply-log --redo-only /backup/complete/2020-12-18_02-36-04/ --incremental-dir=/backup/inc1/2020-12-18_02-40-56/
操作第二次增量备份将第二次增量备份应用到完全备份:
innobackupex --apply-log /backup/complete/2020-12-18_02-36-04/ --incremental-dir=/backup/inc2/2020-12-18_02-42-56/
数据copy到数据库目录:
innobackupex --copy-back /backup/complete/2020-12-18_02-36-04/
授权并启动MySQL
chown -R mysql.mysql /var/lib/mysql
systemctl restart mysqld
进入数据库验证数据
use my
show tables;
select * from you;