mysql-差异备份流程

发布于:2024-05-24 ⋅ 阅读:(35) ⋅ 点赞:(0)

4.差异备份流程

差异备份流程(重要)

第一次完整备份
innobackupex /xtrabackup
innobackupex --user=root --password='123456' /xtrabackup

2024-05-23_20-25-05 第一次完整备份
2024-05-23_20-40-55 第二次差异备份
2024-05-23_20-47-37 第三次差异备份

再往数据库里面加点内容

第二次差异备份(以完整备份作为依赖)
innobackupex --user=root --password=123456 --incremental /xtrabackup --incremental-basedir=/xtrabackup/2024-05-23_20-25-05

再往数据库里面加点内容

第三次差异备份(以完整备份作为依赖)
innobackupex --user=root --password=123456 --incremental /xtrabackup --incremental-basedir=/xtrabackup/2024-05-23_20-25-05

查看是否有错误日志
cat /usr/local/mysql/mysql.log



1.完整备份
完整备份语法:
innobackupex --user=root --password='口令' /备份目录
案例:
innobackupex --user=root --password='qf123' /xtrabackup
2.增加数据后进行差异备份:
语法: 
innobackupex --user=root --password='口令' --incremental /备份目录  --incremental-basedir=/xtrabackup/第一次完全备份目录
案例:
语法: # innobackupex --user=root --password=888 --incremental /xtrabackup --incremental-basedir=/xtrabackup/完全备份目录

增量备份恢复流程(重要)

ls | grep -v tar

for i in $(ls | grep -v tar);
> do
> tar czvf $i.tar.gz ${i};
> done

mkdir tar/

mv *.tar.gz tar/


1. 停止数据库
2. 清理环境
3. 依次重演回滚redo log--> 恢复数据
4. 修改权限
5. 启动数据库

1. 停止数据库
systemctl stop mysqld

2. 清理环境
cd /usr/local/mysql/data
rm -rf *

2024-05-23_20-25-05 第一次完整备份
2024-05-23_20-40-55 第二次差异备份
2024-05-23_20-47-37 第三次差异备份

3. 依次重演回滚redo log--> 恢复数据
恢复完整备份
innobackupex --apply-log --redo-only /xtrabackup/2024-05-23_20-25-05

还原到第二次差异备份
innobackupex --apply-log --redo-only /xtrabackup/2024-05-23_20-25-05 --incremental-dir=/xtrabackup/2024-05-23_20-40-55

恢复数据
innobackupex --copy-back /xtrabackup/2024-05-23_20-25-05

查看文件
cd /usr/local/mysql/data

4. 修改权限
chown -R mysql:mysql /usr/local/mysql/data

5. 启动数据库
systemctl start mysqld
ss -ntpl | grep 3306


-----------------------------------------------------------------------------------------
2024-05-23_20-25-05 第一次完整备份  已经预演过了就可以删掉了 在做第二次就会异常
2024-05-23_20-40-55 第二次差异备份  已经预演过了就可以删掉了 在做第二次就会异常
2024-05-23_20-47-37 第三次差异备份

还原到第三次差异备份
systemctl stop mysqld
cd /usr/local/mysql/data
rm -rf *
cd /xtrabackup/

cd tar
tar -xzvf 2024-05-23_20-25-05.tar.gz
mv  2024-05-23_20-25-05 ../

恢复完整备份
innobackupex --apply-log --redo-only /xtrabackup/2024-05-23_20-25-05

还原到第三次差异备份
innobackupex --apply-log --redo-only /xtrabackup/2024-05-23_20-25-05 --incremental-dir=/xtrabackup/2024-05-23_20-47-37

恢复数据
innobackupex --copy-back /xtrabackup/2024-05-23_20-25-05

查看文件
cd /usr/local/mysql/data

4. 修改权限
chown -R mysql:mysql /usr/local/mysql/data

5. 启动数据库
systemctl start mysqld
ss -ntpl | grep 3306



3.增量恢复重演回滚redolog 恢复数据
语法:
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/全量目录