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/全量目錄