Xtrabackup--InnoDB備份工具介紹(2)

接上回:
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

相關文章
相關標籤/搜索