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

相关文章
相关标签/搜索