使用xtrabackup对数据做增量备份
第三方软件percona-xtrabackup-*.rpm
1在线备份(备份时不锁表)
xtrabackup:c程序,支持InnDB/XtraDB存储引擎的表
innobackupex:以Perl脚本封装xtrabackup,还支持myisam存储引擎的表
安装时有依赖包perl-Time-HiRes 需要yum装依赖包
xtrabackup_56 选项 (增量备份,增量恢复,56代表版本)
必须先有一次完整备份,因为只有完整备份后,在备份时,才知道哪些数据是新产生的,备份数据时只备份表中的数据,不备份表结构(若表不存在,使用它的备份文件无法恢复数据)
常用选项:
--backup 备份数据
--datadir=数据库目录 指定数据库目录
--target-dir=目录名 指定备份文件存储的位置
--incremental-basedir=目录名 增量备份时,指定上一次备份文件存储的目录
--incremental-dir=目录名 准备恢复数据时,指定增量备份文件存储的目录
--prepare 准备恢复数据
备份数据:
第一次完整备份[root@A Packages]# xtrabackup_56 --backup --datadir=/ar/lib/mysql --target-dir=/haha
第二次增量备份[root@A Packages]# xtrabackup_56 --backup --datadir=/var/lib/mysql --incremental-basedir=/haha --target-dir=/hahanew1
第三次增量备份[root@A Packages]# xtrabackup_56 --backup --datadir=/var/lib/mysql --incremental-basedir=/hahanew1 --target-dir=/hahanew2
使用xtrabackup_56命令恢复数据
1 准备恢复数据
xtrabackup_56 --prepare --datadir=/var/lib/mysal --target-dir=/haha
xtrabackup_56 --prepare --datadir=/var/lib/mysal --target-dir=/haha --incremental-dir=/hahanew1
xtrabackup_56 --prepare --datadir=/var/lib/mysal --target-dir=/haha --incremental-dir=/hahanew2
2 把备份文件拷贝到数据库目录下
cp /haha/表名/表名.ibd /var/lib/mysql/表名
重启mysql服务