使用Percona XtraBackup进行mysql热备之测试

发布时间:2020-02-25编辑:脚本学堂
Percona XtraBackup 安装完毕后,现在进行测试:

Percona XtraBackup 安装完毕后,现在进行测试:

一、全备

1、使用innobackupex进行全备:
 

复制代码 代码如下:
innobackupex -user=test -password=123456 -port=3306 -host=10.1.1.192 -slave-info -defaults-file=/etc/my.cnf /data/backup

返回类似以下的信息表示备份成功:
innobackupex: Backup created in directory '/data/backup/2012-12-06_16-17-45'
innobackupex: mysql binlog position: filename 'mysql-bin.000013', position 417
innobackupex: MySQL slave binlog position: master host '10.1.1.191', filename 'mysql-bin.000003', position 122640080
121206 16:18:23 innobackupex: completed OK!

2、全备恢复测试:

应用日志
 

复制代码 代码如下:
innobackupex -user=test -password=123456 -port=3306 -host=10.1.1.192 --defaults-file=/etc/my.cnf --apply-log /data/backup/2012-12-06_16-17-45

停库并删除datadir下的文件
 

复制代码 代码如下:
/etc/init.d/mysqld stop
rm -rf /data/dbdata/*

恢复
 

复制代码 代码如下:
innobackupex -user=test -password=123456 -port=3306 -host=10.1.1.192 --defaults-file=/etc/my.cnf --copy-back /data/backup/2012-12-06_16-17-45
chown -R mysql.mysql /data/dbdata/

最后启动数据库

二、增量备份

需要在全备的基础上执行

首先,执行全备:
 

复制代码 代码如下:
innobackupex -user=test -password=123456 -port=3306 -host=10.1.1.192 -slave-info -defaults-file=/etc/my.cnf /data/backup

然后执行增量备份:
 

复制代码 代码如下:
xtrabackup_55 ---defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/incream1 --incremental-basedir=/data/backup/2012-12-06_16-17-45

注:2012-12-06-16-17-45是全备时生成目录。

执行恢复:

首先将增量备份加入日志:
 

复制代码 代码如下:
xtrabackup_55 --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/2012-12-06_16-17-45
xtrabackup_55 --target-dir=/data/backup/2012-12-06_16-17-45 --prepare --incremental-dir=/data/backup/incream1

然后应用日志:
 

复制代码 代码如下:
xtrabackup_55 --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/2012-12-06_16-17-45

然后修改my.cnf中datadir到/data/backup/2012-12-06_16-17-45,然后更改这个目录权限
 

复制代码 代码如下:
chown -R mysql.mysql /data/backup/2012-12-06_16-17-45

便可以正常使用了。