3.增量备份流程
原理:每次备份上一次备份到现在产生的新数据
1.在数据库上面创建一个测试的库
增量备份流程(重要)
增量备份跟上一次相比 我增加了啥--incremental //放到何处
--incremental-basedir //上一级//第一次增量备份
innobackupex --user=root --password='123456' --incremental /xtrabackup/full --incremental-basedir=/xtrabackup/full/2024-05-21_21-59-46/2024-05-21_21-59-46 //第一次完整备份
2024-05-21_23-53-41 //第二次增量备份
2024-05-22_00-00-29 //第三次增量备份
2024-05-22_00-05-57 //第四次增量备份第二次增量备份
innobackupex --user=root --password='123456' --incremental /xtrabackup/full --incremental-basedir=/xtrabackup/full/2024-05-21_23-53-41/第三次增量备份
innobackupex --user=root --password='123456' --incremental /xtrabackup/full --incremental-basedir=/xtrabackup/full/2024-05-22_00-00-29/1.进行完整备份
完整备份语法:
innobackupex --user=root --password='口令' /备份目录
案例:
innobackupex --user=root --password='qf123' /xtrabackup
2.添加数据以后增量备份(1)
增量备份语法:
innobackupex --user=root --password='口令' --incremental /备份目录/ --incremental-basedir=/xtrabackup/上一备份目录
案例:
innobackupex --user=root --password='qf123' --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/上一备份目录(基于前一天)
3.添加数据以后增量备份(2)
innobackupex --user=root --password='qf123' --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/上一备份目录(基于前一天)
增量备份恢复流程(重要)
增量备份比较重要 先进行打包先过滤不是增量备份的
cd /xtrabackup/fullls | egrep -v "2024-05-21_21-59-46|tar" //tar -czvf 2024-05-21_21-59-46.tar.gz 2024-05-21_21-59-46//打包增量备份
for i in $(ls | egrep -v "2024-05-21_21-59-46|tar")
do
tar -czvf tar/${i}.tar.gz ${i}
done1. 停止数据库
2. 清理环境
3. 依次重演回滚redo log--> 恢复数据
4. 修改权限
5. 启动数据库1. 停止数据库
systemctl stop mysqld2. 清理环境
cd /usr/local/mysql/data
rm -rf *3.增量恢复重演回滚redolog 恢复数据
2024-05-21_21-59-46 //第一次完整备份
2024-05-21_23-53-41 //第二次增量备份
2024-05-22_00-00-29 //第三次增量备份
2024-05-22_00-05-57 //第四次增量备份第一次恢复完整备份的目录
cd /xtrabackup/full
innobackupex --apply-log --redo-only /xtrabackup/full/2024-05-21_21-59-46第二次恢复增量备份的目录
innobackupex --apply-log --redo-only /xtrabackup/full/2024-05-21_21-59-46 --incremental-dir=/xtrabackup/full/2024-05-21_23-53-41第三次恢复增量备份的目录
innobackupex --apply-log --redo-only /xtrabackup/full/2024-05-21_21-59-46 --incremental-dir=/xtrabackup/full/2024-05-22_00-00-29第四次恢复增量备份的目录
innobackupex --apply-log --redo-only /xtrabackup/full/2024-05-21_21-59-46 --incremental-dir=/xtrabackup/full/2024-05-22_00-05-57恢复数据
innobackupex --copy-back /xtrabackup/全量目录
innobackupex --copy-back /xtrabackup/full/2024-05-21_21-59-46然后在回到数据库里面(此时文件已经还原成功)
cd /usr/local/mysql/data ll 然后正在修改权限
chown -R mysql:mysql *然后在重启服务
systemctl start mysqld查看端口
ss -ntpl | grep 3306mysql 登录一下
show databases; //数据内容还是在的语法
innobackupex --apply-log --redo-only /xtrabackup/全量目录
innobackupex --apply-log --redo-only /xtrabackup/全量目录 --incremental-dir=/xtrabackup/增量1目录
innobackupex --apply-log --redo-only /xtrabackup/全量目录 --incremental-dir=/xtrabackup/增量2目录
恢复数据
innobackupex --copy-back /xtrabackup/全量目录