使用innobackupex恢復mysql資料庫

stonebox1122發表於2017-06-22

使用innobackupex備份好資料庫後,參考:http://blog.itpub.net/28536251/viewspace-2141029/,如果要恢復,也很簡單。
假定當前mysql資料庫無法訪問,在另外一臺機器上面有一份全量備份2017-06-20_16-33-30和增量備份2017-06-20_16-48-49。


1、獲取備份檔案
[root@my1 ~]# mkdir /var/lib/mysql/bakup
[root@my1 ~]# chown mysql:mysql /var/lib/mysql/bakup
[root@my1 ~]# scp -r root@192.168.254.151:/var/lib/mysql/backup/innobackupex/2017-06-20* /var/lib/mysql/bakup
[root@my1 ~]# ll -rth /var/lib/mysql/bakup
total 8.0K
drwxr-x--- 7 root root 4.0K Jun 21 18:06 2017-06-20_16-33-30
drwxr-x--- 7 root root 4.0K Jun 21 18:06 2017-06-20_16-48-49


2、準備工作
安裝備份恢復工具參考:
http://blog.itpub.net/28536251/viewspace-2141029/
[root@my1 ~]# mkdir /var/lib/mysqlreco
[root@my1 ~]# chown mysql:mysql /var/lib/mysqlreco
[root@my1 ~]# grep datadir /etc/my.cnf
#datadir=/var/lib/mysql
datadir=/var/lib/mysqlreco
[root@my1 ~]# /etc/init.d/mysql.server  status
MySQL is not running                                       [FAILED]
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /var/lib/mysql/bakup/2017-06-20_16-33-30/
......
170621 18:11:53 completed OK!

引數:
  ● --apply-log:從指定的選項檔案中讀取配置資訊並應用日誌等,這就代表要做的是對備份集恢復的準備工作,若要做恢復,則本引數必須指定。
  ● --redo-only:如果進行準備工作的備份集操作完成後,還有其他增量備份集待處理,那麼就必須指定本引數。如果沒有增量備份,那麼本引數就無需指定了。
  ● 恢復時不需要指定使用者名稱和密碼引數。


應用增量備份,這次要操作的備份集就是最後一份,不需要再指定--redo-only引數了:
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --apply-log /var/lib/mysql/bakup/2017-06-20_16-33-30/ --incremental-dir=/var/lib/mysql/bakup/2017-06-20_16-48-49/
......
170621 18:16:14 completed OK!

引數:
  ● --incremental-dir:指定增量備份集路徑。


3、執行恢復
[root@my1 ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /var/lib/mysql/bakup/2017-06-20_16-33-30/
......
170621 18:20:35 completed OK!

引數:
  ● --copy-back:從備份路徑中,將檔案複製回初始化選項指定的路徑下。


4、啟動驗證
[root@my1 ~]# chown -R mysql:mysql /var/lib/mysqlreco
[root@my1 ~]# /etc/init.d/mysql.server start
Starting MySQL........                                     [  OK  ]

[root@my1 ~]# mysql -uroot -p123456 -e "select * from test.test4"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+
| v1   |
+------+
| aa   |
| bb   |
+------+

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2141149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章