重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Backup一直是数据库最重要的环节,MySQL也比例外。而mysql最好的备份工具就是Percona xtrabackup和Mysql Enterprise backup(官方收费版)。
成都创新互联专业为企业提供沿滩网站建设、沿滩做网站、沿滩网站设计、沿滩网站制作等企业网站建设、网页设计与制作、沿滩企业网站模板建站服务,十载沿滩做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Xtrabackup中主要包含两个工具:
xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表(Myisam表),也不能备份数据表结构。
innobackupex:是将xtrabackup进行封装的perl脚本,可以备份和恢复MyISAM表以及数据表结构。
但是针对myisam的备份是需要加读锁的,多少会对线上业务影响。但是当前绝大部分Mysql用户,都是用innodb,所以,myisam只是系统表使用,锁的影响,也就可以忽略了。
一段官方文档的说明:
http://www.percona.com/doc/percona-xtrabackup/2.1/manual.html
It is possible to use the xtrabackup binary alone, however, the recommend way is using it through the innobackupex wrapper script and let it execute xtrabackup for you. It might be helpful to first learn how to use innobackupex, and then learn how to use xtrabackup for having a better low-level understanding or control of the tool if needed.
这里,我们就用Percona Xtrabackup来备份Mysql。
1. 下载软件,进入下载链接
https://www.percona.com/downloads/
2. 选择xtrabackup
3. 选择OS版本,下载
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.11/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm
4. 安装中可能会遇到缺少下面包的问题:
--> Processing Dependency: libev.so.4()(64bit) for package: percona-xtrabackup-24-2.4.10-1.el6.x86_64 --> Finished Dependency Resolution Error: Package: percona-xtrabackup-24-2.4.10-1.el6.x86_64 (percona-release-x86_64) Requires: libev.so.4()(64bit)
到下面网址,下载对应系统的rpm包,并安装
http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libev.so.4
下载
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/rudi_m:/devel-snap/CentOS_CentOS-6/x86_64/libev4-4.15-7.1.x86_64.rpm
安装
rpm -ivh libev4-4.15-7.1.x86_64.rpm
5. 下载rpm包到本地,然后安装,发现和现有的mysql冲突conflicts with file from package mysql-community-server
# yum -y localinstall percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm ...... Transaction Check Error: file /etc/my.cnf from install of Percona-Server-shared-51-5.1.73-rel14.12.625.rhel6.x86_64 conflicts with file from package mysql-community-server-5.6.39-2.el6.x86_64
6. 先安装一个
# yum install MySQL-shared-compat*
7. 然后再次安装,就解决冲突问题了
# yum localinstall percona-xtrabackup-24-2.4.10-1.el6.x86_64.rpm ...... Installed: percona-xtrabackup-24.x86_64 0:2.4.10-1.el6 Dependency Installed: perl-DBD-MySQL.x86_64 0:4.013-3.el6 rsync.x86_64 0:3.0.6-12.el6 Complete!
8. 备份与恢复测试
innobackupex --defaults-file=/etc/my.cnf --user=root --password='password' /backup/20180423/
手动删除文件
/mysql/help_topic.frm rm: remove regular file `events_stages_current.frm'? y rm: remove regular file `events_stages_history.frm'? y rm: remove regular file `events_stages_history_long.frm'? y rm: remove regular file `events_stages_summary_by_account_by_event_name.frm'?
9. 整合备份文件
innobackupex --defaults-file=/etc/my.cnf --apply-log /backup/20180423/2018-04-18_00-58-36/
10. 备份还原
innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/20180423/2018-04-18_00-58-36/
可以看到,xtrabackup已经正常工作了。
mysql备份恢复测试,请参考:
https://blog.51cto.com/hsbxxl/2107383