Mysqlbackup 8全备增量备份还原案例
? ? ? ? ? ? ? ? ? ? ? ? ? ? Mysqlbackup 8增量備份還原圖解
聲明
本文的數(shù)據(jù)來自網(wǎng)絡(luò),部分代碼也有所參照,這里做了注釋和延伸,旨在技術(shù)交流,如有冒犯之處請(qǐng)聯(lián)系博主及時(shí)處理。
注:1 當(dāng)前驗(yàn)證環(huán)境CentOS 8 X86 64、mysql 8.0.23、mysqlbackup 8.0.23
? ? ? ? 2 部分操作詳見代碼處注釋
? ? ? ? 3?Mysqlbackup 8.0.23 備份還原圖解
? ? ? ? 4 當(dāng)然備份時(shí)也可以采用image的形式--backup-image
前期準(zhǔn)備
增量備份,又稱為差異備份是基于某個(gè)全備而作的備份。它相對(duì)于全備份而言備份量較小,但備份和還原時(shí)必須依附這個(gè)全備。
首先創(chuàng)建個(gè)表以驗(yàn)證增量(差異)備份,思路見下:
全備
#命令行執(zhí)行全備命令 #這里的 -- backup-dir即備份的目錄,因有with-timestamp則會(huì)自動(dòng)生成時(shí)間戳對(duì)應(yīng)的文件夾) mysqlbackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=mysqlbak --password='root@1234T5' --backup-dir=/root/workspace/mysqlbackup/bakSpace_0425 --with-timestamp backup增量備
-- 再次插入增量的數(shù)據(jù),一條id為2的數(shù)據(jù)。 INSERT INTO test_04251019 VALUES(2,'test_incr','Guangzhou','in increament'); commit; # 執(zhí)行增量備份的命令 # 其中--incremental-base對(duì)應(yīng)上一步全備的路徑 # 增量 (差異)備份的路徑--incremental-backup-dir可以直接指定,無需實(shí)現(xiàn)創(chuàng)建。 mysqlbackup --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --user=mysqlbak --password='root@1234T5' --with-timestamp --incremental --incremental-backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/incre/ --incremental-base=dir:/root/workspace/mysqlbackup/bakSpace_0425/2021-04-25_14-08-15/ backup增量備后
-- 增量備份后(此步為驗(yàn)證增量備份還原的效果): INSERT INTO test_04251019 VALUES(3,'test_incr','Guangzhou','after increament'); commit; -- 增量備份后當(dāng)前數(shù)據(jù)庫(kù)的數(shù)據(jù)狀態(tài): SELECT * FROM test_04251019還原
還原前
-- 關(guān)閉mysql數(shù)據(jù)庫(kù)服務(wù) mysqladmin -uroot -p'root1234' shutdown還原中
# Step 1 首先對(duì)全備應(yīng)用apply_log mysqlbackup --backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/2021-04-25_14-08-15/ apply-log # Step2 對(duì)在全備的基礎(chǔ)對(duì)增量進(jìn)行恢復(fù) mysqlbackup --backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/2021-04-25_14-08-15/ --incremental-backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/incre/2021-04-25_14-22-21 apply-incremental-backup # Step 3 覆蓋現(xiàn)有數(shù)據(jù)庫(kù)數(shù)據(jù)文件還原 mysqlbackup --defaults-file=/etc/my.cnf --force --backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/2021-04-25_14-08-15/ --datadir=/data/mysql copy-back-and-apply-log注:這里的錯(cuò)誤是因?yàn)閏opy-back-and-apply-log參數(shù)有誤,不影響結(jié)果,問題分析見文末處。
還原后
Step 1 重啟mysql數(shù)據(jù)庫(kù)服務(wù)
#重啟mysql數(shù)據(jù)庫(kù)服務(wù) service mysqld startStep 2 還原前后對(duì)比,還原后:
-- 查看數(shù)據(jù)庫(kù)還原后當(dāng)前表數(shù)據(jù) SELECT * FROM test_04251019由此可見數(shù)據(jù)庫(kù)已經(jīng)還原到增量(差異)備份時(shí)的狀態(tài)。?
問題
命令參數(shù)錯(cuò)誤
Issue 1:該問題是因?yàn)?strong>還原中環(huán)節(jié)mysqlbackup命令參數(shù)使用不當(dāng)導(dǎo)致。
?解決方法: 將參數(shù)copy-back-and-apply-log修改成copy-back。
總結(jié)
以上是生活随笔為你收集整理的Mysqlbackup 8全备增量备份还原案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么食物吃了能够放松心情?
- 下一篇: 一文带你了解mysql sql mode