主要内容:

Mysql备份工具介绍选取

xtrabackup安装部署

innobackupex备份前主机基础配置

innobackupex全量备份

innobackupex恢复

1、mysql备份工具介绍


   生产中究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定。使用mysqldump来进行备份与恢复,在备份的时候锁住表,然后全部备份,在数据少的时候没问题,但如果数据很多,不允许锁表,同时需要恢复数据块的情况,mysqldump就不适合了。Xtrabackup备份的时候不会锁表而且支持增量备份。所以实际生产中还是要根据生产环境来选择合适的备份工具。在这我们主要使用xtrabackup备份作为案列分析。Xtrabackup在备份中优势如下所示:

  1. 无需停止数据库进行InnoDB热备
  2. 增量备份MySQL
  3. 流压缩到传输到其它云服务器  
  4. 能比较容易地创建主从同步
  5. 备份MySQL时不会增大服务器负载

2、xtrabackup安装部署

直接通过RPM包安装部署,解压tar包:

Percona-XtraBackup-2.4.21-r5988af5-el7-x86_64-bundle.tar

yum install  percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

TestDisk 恢复mysql数据库 mysql数据恢复工具_安装部署

Xtrabackup安装完成后就可以通过工具innobackupex实现备份恢复。

3、innobackupex备份前主机基础配置


如果备份需要流压缩到其它主机上,那在备份之前需要对主机与主机之间做免密互通,具体方法如下所示:

TestDisk 恢复mysql数据库 mysql数据恢复工具_安装部署_02

TestDisk 恢复mysql数据库 mysql数据恢复工具_数据_03

TestDisk 恢复mysql数据库 mysql数据恢复工具_安装部署_04

4、innobackupex全量恢复


在这由于我们是通过xtrabackup备份以达到恢复从库的目的,所以需要应用到流压缩传输到其它服务器上,具体操作如下所示:

TestDisk 恢复mysql数据库 mysql数据恢复工具_数据_05

TestDisk 恢复mysql数据库 mysql数据恢复工具_TestDisk 恢复mysql数据库_06

备份好的/data/backup.tar压缩包解压到/hoem/mysql/back/目录下,且执行恢复命令必须保障数据的数据目录data下没有数据,且在data目录下会生成一个xtrabackup_info文件,里面的binlog_pos包含了当前恢复数据的位置,然后从这个位置开始恢复主从,如下图所示:

TestDisk 恢复mysql数据库 mysql数据恢复工具_数据_07

TestDisk 恢复mysql数据库 mysql数据恢复工具_mysql_08

TestDisk 恢复mysql数据库 mysql数据恢复工具_数据_09

5、mysql从库恢复


最后通过重做从库恢复从库,具体操作如下所示:

TestDisk 恢复mysql数据库 mysql数据恢复工具_数据_10

TestDisk 恢复mysql数据库 mysql数据恢复工具_TestDisk 恢复mysql数据库_11

END