主要内容:
Mysql备份工具介绍选取
xtrabackup安装部署
innobackupex备份前主机基础配置
innobackupex全量备份
innobackupex恢复
1、mysql备份工具介绍
生产中究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定。使用mysqldump来进行备份与恢复,在备份的时候锁住表,然后全部备份,在数据少的时候没问题,但如果数据很多,不允许锁表,同时需要恢复数据块的情况,mysqldump就不适合了。Xtrabackup备份的时候不会锁表而且支持增量备份。所以实际生产中还是要根据生产环境来选择合适的备份工具。在这我们主要使用xtrabackup备份作为案列分析。Xtrabackup在备份中优势如下所示:
- 无需停止数据库进行InnoDB热备
- 增量备份MySQL
- 流压缩到传输到其它云服务器
- 能比较容易地创建主从同步
- 备份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
Xtrabackup安装完成后就可以通过工具innobackupex实现备份恢复。
3、innobackupex备份前主机基础配置
如果备份需要流压缩到其它主机上,那在备份之前需要对主机与主机之间做免密互通,具体方法如下所示:
4、innobackupex全量恢复
在这由于我们是通过xtrabackup备份以达到恢复从库的目的,所以需要应用到流压缩传输到其它服务器上,具体操作如下所示:
备份好的/data/backup.tar压缩包解压到/hoem/mysql/back/目录下,且执行恢复命令必须保障数据的数据目录data下没有数据,且在data目录下会生成一个xtrabackup_info文件,里面的binlog_pos包含了当前恢复数据的位置,然后从这个位置开始恢复主从,如下图所示:
5、mysql从库恢复
最后通过重做从库恢复从库,具体操作如下所示:
END