Perconaxtrabackup安装与使用

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

Percona xtrabackup 安装与使用Percona 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

Percona xtrabackup 安装与使用

Percona xtrabackup 安装与使用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


分享文章:Perconaxtrabackup安装与使用
文章链接:http://scyanting.com/article/jephsc.html