接上回:
mysql
mysql> select Host,User,Password from mysql.user; +------------------+--------+-------------------------------------------+ | Host | User | Password | +------------------+--------+-------------------------------------------+ | localhost | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | gzy.tongzhou.com | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | 127.0.0.1 | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | % | zabbix | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | localhost | backup | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost | test1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +------------------+--------+-------------------------------------------+ 6 rows in set (0.00 sec)
此時發現用戶test1已經存在了,證實xtrabackup的恢復是成功的,可是test2卻沒有恢復,只能使用咱們以前備份的二進制日誌文件來恢復了。
sql
去徹底備份的目錄下查看一下當時備份時候binlog的日誌信息(由於增量備份是被應用到徹底備份裏的,固然,查看最後一次增量備份目錄中的這個文件信息也能夠,其實兩個內容是同樣的):shell
[root@gzy ~]# cat /backup/2014-02-17_01-09-48/xtrabackup_binlog_info mysql-bin.000021 574
讀取該二進制日誌的位置並保存至.sql文件
工具
[root@gzy ~]# mysqlbinlog --start-position=574 /tmp/mysql-bin.000021 > /tmp/1.sql [root@gzy ~]#
進入mysql且先關閉二進制功能,進行恢復,再開啓二進制功能:
測試
mysql> set sql_log_bin = 0; Query OK, 0 rows affected (0.00 sec) mysql> source /tmp/1.sql; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> set sql_log_bin = 1; Query OK, 0 rows affected (0.00 sec)
再查看一下,發現用戶test2已恢復回來了命令行
mysql> select Host,User,Password from mysql.user; +------------------+--------+-------------------------------------------+ | Host | User | Password | +------------------+--------+-------------------------------------------+ | localhost | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | gzy.tongzhou.com | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | 127.0.0.1 | root | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | % | zabbix | *2CF528CA7B474EC019B52035BDF52F143D939DBA | | localhost | backup | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost | test1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost | test2 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +------------------+--------+-------------------------------------------+
到這裏,xtrabackup的徹底+增量+二進制備份及恢復已經完成了。日誌
固然了,xtrabackup還有不少高級功能,好比說進行備份恢復時指定具體的內存資源來加快速度、指定以數據流的形式壓縮、從遠程主機上的備份文件進行恢復、備份指定庫或指定表等等,總得來講功能仍是比較強大的,重要的是其基於文件系統或者說基於innodb存儲引擎底層技術實現的物理備份特性仍是比較讚的,根據公司業務的對數據備份可靠性的具體需求,能夠自定義其使用的命令參數和方法。有興趣的朋友能夠去深刻研究一下,這裏就不一一列舉了,其實這個工具的使用無非就是命令行參數的組合,使用xtrabackup --help列出其參數選項而後讀一下而後理解其含義,而後測試使用便可。code