Xtrabackup的安装
下载最新版的Xtracbackup
[root@vanelife-mysql ~]# wget http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/binary/redhat/6/x86_64/percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
安装依赖包
[root@vanelife-mysql ~]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
[root@vanelife-mysql ~]# rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
安装完成后,就会在/usr/bin目录里安装上两个的工具:xtrabackup和innobackupex
1)xtrabackup 只能备份InnoDB和XtraDB两种数据表,支持在线热备份,可以在不加锁的情况下备份Innodb数据表,不过此工具不能操作Myisam引擎表
2)innobackupex 是一个脚本封装,封装了xtrabackup,能同时处理Innodb和Myisam,但在处理Myisam时需要加一个读锁。
用法查看:innobackupex –help
Xtrabackup的备份设置。
执行全备
[root@vanelife-mysql ~]#/usr/bin/innobackupex –defaults-file=/data/mysql/3306/my.cnf -host=192.168.1.19 –user=admin –password=admin /data/mysql/3306/backup/
这样就会把整个库备份下来。
备份文件的目录格式是2015-04-21_05-00-02类似的文件夹,都是跟时间关联的。
增量备份
增量备份需要基于全备,先假设我们已经有了一个全备(/data/mysql/3306/backup/2015-04-21_05-00-02),在该全表的基础上做增量备份。
[root@vanelife-mysql ~]# innobackupex –defaults-file=/data/mysql/3306/my.cnf –user=admin –password=admin –incremental-basedir=/data/mysql/3306/backup/2015-04-21_05-00-02 –incremental /data/mysql/3306/backup/
其中–incremental-basedir指向全备目录,–incremental指向增量备份的目录。
上面语句执行成功之后,会在–incremental执行的目录下创建一个时间戳子目录(本例中为:/data/mysql/3306/backup/22015-04-21_05-50-44),在该目录下存放着增量备份的所有文件。
在备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息.
所以增量备份的恢复会比较麻烦,先基础全量恢复,接着增量恢复。所以一般都是全备比较简单易操作,增量的话在特殊条件,比如数据库量太大的情况下才执行。