环境:centos6.5 64位
Percona
工具套件
Xtrabackup的优点:
支持对innodb进行热备份
对mysql做增量备份
在线表迁移
创建mysql replication更加容易
备份不增加服务器的负载
安装依赖:
yum install libnuma*
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
yum install libnuma*
wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
全备
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/test/
执行2次 prepare 同步innodb的日志文件
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --target-dir=/data/backup/
可以加--use-memory 设定命令所需要的缓存 加快备份
增量备份:
体现增量备份 先创建三个目录
mkdir -p {1,3,5}
对数据库做全备 存放在1目录
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/1/
向测试表插入数据
insert into t1 values(5,'xingqier',0);
对数据库做增量备份,以1目录做为对比,将数据存放3目录
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/3/ --incremental-basedir=/data/1/
同步二步骤
insert into t1 values(5,'xingqier',0);
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/5/ --incremental-basedir=/data/3/
恢复增量备份
使用--apply-log-only参数
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/
追加3的备份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/ --incremental-dir=/data/3/
追加5的备份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/ --incremental-dir=/data/5/
合并后的结果执行prepare,得到最终备份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --target-dir=/data/1/