xtrabackup進行數據庫恢復

本篇講備份的恢復

備份見上篇:xtrabackup進行數據庫備份
當我們進行了一次全備份之後,會在備份目錄生成時間戳命名的一個備份文件
在這裏插入圖片描述
此備份文件下包括:backup-my.cnf、xtrabackup_checkpoints等備份的配置文件和已經備份過來的數據庫文件。

恢復步驟:

1.將要恢復的機器上mysql服務停掉:

[[email protected] ~]# mysqladmin -uroot -p shutdown

可以ps看下是否停止:

[[email protected] ~]# ps -ef|grep mysql

2.將mysql數據目錄移除:
這一步的目的是:備份的時候xtrabackup會記錄該目錄的位置,如果在恢復的時候data目錄存在且不爲空,恢復會報錯。
*超級不建議使用rm -rf 刪除

[[email protected] ~]# mv /home/mysql/data  /home/mysqlbak

3.進行prepare,執行如下命令:

[[email protected] ~]# innobackupex   --apply-log --redo-only /home/mysqlbackup/backup/2020-05-28_11-29-06/

4.執行全部恢復:

[[email protected] ~]# innobackupex --defaults-file=/etc/my.cnf   --copy-back  /home/mysqlbackup/backup/2020-05-28_11-29-06/

在這裏插入圖片描述
看到completed OK!,恢復成功

5.修改新文件權限:

[[email protected] ~]# chown mysql:mysql -R /data/mysql_data

6.重啓mysql服務:

[[email protected] ~]# mysqld &

在這裏插入圖片描述
可以看到,數據庫已經恢復:
在這裏插入圖片描述
至此,數據庫恢復完成。

PS:現在正在做shell腳本,準備將數據庫備份與同步自動化,下篇更新xtrabackup專欄應該是shell腳本實現數據庫備份與同步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章