Percona xtrabackup 安装与使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Percona xtrabackup 安装与使用相关的知识,希望对你有一定的参考价值。

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-test-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 localinstall percona-xtrabackup-24-2.4.10-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备份恢复测试,请参考:

http://blog.51cto.com/hsbxxl/2107383


以上是关于Percona xtrabackup 安装与使用的主要内容,如果未能解决你的问题,请参考以下文章

XtraBackup 备份与恢复实例讲解

Percona Xtrabackup2.4.9安装使用指南

percona-xtrabackup完全及增量备份与恢复

xtrabackup的使用

xtrabackup8安装和使用

Centos 6.8 安装Percona Xtrabackup