Mysqlbackup 8全备增量备份还原案例
生活随笔
收集整理的這篇文章主要介紹了
Mysqlbackup 8全备增量备份还原案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? Mysqlbackup 8增量備份還原圖解
聲明
本文的數據來自網絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯系博主及時處理。
注:1 當前驗證環境CentOS 8 X86 64、mysql 8.0.23、mysqlbackup 8.0.23
? ? ? ? 2 部分操作詳見代碼處注釋
? ? ? ? 3?Mysqlbackup 8.0.23 備份還原圖解
? ? ? ? 4 當然備份時也可以采用image的形式--backup-image
前期準備
增量備份,又稱為差異備份是基于某個全備而作的備份。它相對于全備份而言備份量較小,但備份和還原時必須依附這個全備。
首先創建個表以驗證增量(差異)備份,思路見下:
全備
#命令行執行全備命令 #這里的 -- backup-dir即備份的目錄,因有with-timestamp則會自動生成時間戳對應的文件夾) 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增量備
-- 再次插入增量的數據,一條id為2的數據。 INSERT INTO test_04251019 VALUES(2,'test_incr','Guangzhou','in increament'); commit; # 執行增量備份的命令 # 其中--incremental-base對應上一步全備的路徑 # 增量 (差異)備份的路徑--incremental-backup-dir可以直接指定,無需實現創建。 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增量備后
-- 增量備份后(此步為驗證增量備份還原的效果): INSERT INTO test_04251019 VALUES(3,'test_incr','Guangzhou','after increament'); commit; -- 增量備份后當前數據庫的數據狀態: SELECT * FROM test_04251019還原
還原前
-- 關閉mysql數據庫服務 mysqladmin -uroot -p'root1234' shutdown還原中
# Step 1 首先對全備應用apply_log mysqlbackup --backup-dir=/root/workspace/mysqlbackup/bakSpace_0425/2021-04-25_14-08-15/ apply-log # Step2 對在全備的基礎對增量進行恢復 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 覆蓋現有數據庫數據文件還原 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注:這里的錯誤是因為copy-back-and-apply-log參數有誤,不影響結果,問題分析見文末處。
還原后
Step 1 重啟mysql數據庫服務
#重啟mysql數據庫服務 service mysqld startStep 2 還原前后對比,還原后:
-- 查看數據庫還原后當前表數據 SELECT * FROM test_04251019由此可見數據庫已經還原到增量(差異)備份時的狀態。?
問題
命令參數錯誤
Issue 1:該問題是因為還原中環節mysqlbackup命令參數使用不當導致。
?解決方法: 將參數copy-back-and-apply-log修改成copy-back。
總結
以上是生活随笔為你收集整理的Mysqlbackup 8全备增量备份还原案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么食物吃了能够放松心情?
- 下一篇: 烧烤食材去哪里买 推荐几家优质烧烤食材供