MySQL第三方备份工具xtrabackup使用

时间:2023-01-05 14:01:51

环境: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/