使用Xtrabackup对MySQL进行备份和恢复

2014-11-24 18:22:27 · 作者: · 浏览: 0

Xtrabackup 是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复mysql数据库。 Xtrabackup中包含两个工具:


xtrabackup是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;


innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。


由于innobackupex的功能更为全面和完善,所以,本文以innobackupex作为基础进行研究描述。


在以下地址可以下载到xtrabackup:http://www.percona.com/downloads/XtraBackup/,可以根据自己的需要选择稳定版本或者最新版本以及操作系统、源码包或者rpm包等等。


我下载到的是xtrabackup-1.6.tar,是一个二进制压缩包,解压后可直接使用。


将下载到的文件包进行解压 tar zxvf xtrabackup-1.6.tar,然后在/usr/bin中建立相关应用的链接:


其中,


innobackupex是我们要使用的备份工具;


xtrabackup是被封装在innobackupex之中的,innobackupex运行时需要调用它;


xtrabackup_51是xtrabackup运行时需要调用的工具;


tar4ibd是以tar流的形式产生备份时用来打包的工具。


完整备份:


完整备份并打包:


其中,--stream指定流的格式,目前只支持tar。


完整备份并打包压缩:


完整备份到远程主机:


增量备份:


其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份。