使用Percona Xtrabackup备份SLAVE数据

现在我们可以很方便的用Xtrabackup取代ibbackup,作为innodb的在线热备工具使用。通常,我们会选择在SLAVE上进行备份,以减小MASTER的压力。 innobackupex是封装后的perl脚本,用于调度xtrabackup进行备份,附加了不少辅助功能,非常实用,下面是一个常见的innobackupex备份例子:

### 
### innobackupex example 
### 
### created by yejr(imysql@imysql.cn), 2011/07/27 
### 
### 备注:部分注释信息用于阅读方便,实际使用时,请直接删除 
### 
innobackupex \ 
#做完DB备份的同时,记录SLAVE的信息,便于恢复时使用,会直接生成 CHANGE MASTER命令 
--slave-info \  
#和 slave-info 结合使用,发起备份的时候,会把SLAVE暂停,确保备份时没有临时表打开,保证一致性 
--safe-slave-backup \ 
#指定要备份的数据表列表文件,内容格式诸如:imysql.user,意思是imysql库下的user表 
#不在列表中存在的数据表都不会备份,直接忽略,常用于做部分备份,例如历史归档表无需备份 
--tables-file="dbbak_tables_list.txt" \  
#备份目录不附加实时时间戳,便于指定有一定规则的目录名 
--no-timestamp \  
#指定备份目录 
/databak/20110727

直接执行该命令行,即可开始备份,需要注意的是: 1. 若想同时备份SLAVE信息以及BINARY LOG信息,则不要指定 --no-lock 选项,否则不会记录; 2. 备份存储目标目录不要事先创建好,否则会报错退出,当然了,可以自己修改下innobackupex脚本,忽略这个检查。

技术相关: