Xtrabackup增量備份的恢復

2021-10-23 19:19:49 字數 2966 閱讀 8306

環境:linux

伺服器:1.135

增量備份的恢復主要3個步驟

1、恢復完全備份

2、恢復增量備份到完全備份(開始恢復的增量備份要新增–redo-only引數,到最後一次增量備份去掉–redo-only引數)

3、對整體的完全備份進行恢復,回滾那些未提交的資料

在另外一台測試上面做了乙個全量備份和兩個增量的備份,把資料傳到1.135上開始恢復。

全量備份的檔案目錄是:/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/

增量備份的檔案目錄是:/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-43-43

/data/mysql_backup/xtrabackup/incr/2020-08-19_15-12-39/2020-08-20_10-53-46

因為備份都是壓縮的備份,所以在恢復的時候首先得解壓。

#解壓全備檔案

innobackupex --decompress /data/mysql_backup/xtrabackup/full/

2020-08

-19_15-12-

39/#解壓增備檔案

innobackupex --decompress /data/mysql_backup/xtrabackup/incr/

2020-08

-19_15-12-

39/2020-08

-20_10-43-

43/innobackupex --decompress /data/mysql_backup/xtrabackup/incr/

2020-08

-19_15-12-

39/2020-08

-20_10-53-

46/

完全備份的還原

恢復完全備份(注意這裡一定要加–redo-only引數,該引數的意思是只應用xtrabackup日誌中已提交的事務資料,不回滾還未提交的資料)

/data/mysql_backup/xtrabackup/full/2020-08-19_15-12-39/

注意如果後續必須應用增量備份,則必須加上–redo-only. 否則後續不能應用增量備份。如果在恢復全備時沒有應用引數–redo-only ,後面應用增量備份時會報錯誤。只有當最後乙個增量備份時,才不需要–redo-only。

如果分不清增量備份先後順序,可以在備份檔案的目錄下可以檢視備份的記錄資訊。檢視from_lsn、to_lsn 、last_lsn 的值來判斷先後順序。

[root@135mysqlyd /data/mysql_backup/xtrabackup/full/

2020-08

-19_15-12-

39]# cat xtrabackup_checkpoints

backup_type = full-backuped

from_lsn =

0to_lsn =

17151505

last_lsn =

17151514

compact =

0recover_binlog_info =

0

增量備份1的還原

準備第乙個增量備份的還原,注意需要新增–redo-only 引數

innobackupex --defaults-file=

/data/mysql_backup/xtrabackup/full/

2020-08

-19_15-12-

39/ \

--incremental-dir=

/data/mysql_backup/xtrabackup/incr/

2020-08

-19_15-12-

39/2020-08

-20_10-43-

43/

增量備份2的還原

因為是最後乙個增量,所以不需要再新增–redo-only

innobackupex --defaults-file=

/data/mysql_backup/xtrabackup/full/

2020-08

-19_15-12-

39/ \

--incremental-dir=

/data/mysql_backup/xtrabackup/incr/

2020-08

-19_15-12-

39/2020-08

-20_10-53-

46/

停止mysql的服務,並且清空資料目錄

[root@135mysql ~]# service mysql stop

stopping mysql (via systemctl): [ ok ]

[root@135mysql ~]# rm -rf /data/mysql/mysql3306/data/*

將備份檔案拷貝回mysql資料目錄。

innobackupex --defaults-file=

/etc/my.cnf --copy-back /data/mysql_backup/xtrabackup/full/

2020-08

-19_15-12-

39/

配置許可權

[root@135mysql ~

]# chown -r mysql:mysql /data/mysql/

啟動資料庫檢查資料

[root@135mysql ~

]# service mysql start

xtrabackup 增量備份

xtrabackup 增量備份 1.完全備份準備資料夾 xtrabackup backup target dir backup base 2.進入mysql 修改資料 centos mysql mariadb hellodb use hellodb 修改資料庫 mariadb hellodb ins...

xtrabackup 增量備份和部分備份

增量備份 當innodb file per table開啟時,xtrabackup支援部分備份,有2種方式 tables和 tables file 我本人不喜歡 tables,比較麻煩,需要正規表示式匹配和考慮os轉義符還有bash命令長度,巨蛋疼 主要把要備份的表寫到乙個檔案裡面即可,每個表一行 ...

Xtrabackup全量備份 增量備份指令碼

一 全量備份指令碼 1.全量備份指令碼 1 2 3 4 5 6 7 8 9 10 11 12 13 bin bash description xtrabackup complete author created by michael 2017 08 07 v0.1 user root passwd ...