[环境]
操作系统:CentOS release 6.8
MySQL版本:5.6.26
XtraBackup版本:2.4.12
1.XtraBackup备份
#全备
xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --target-dir=/backup/all_bak/ --databases="dbtest"
#第一次增备
xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --incremental --target-dir=/backup/add_bak1/ --incremental-basedir=/backup/all_bak/ --databases="dbtest"
#第二次增备
xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --incremental --target-dir=/backup/add_bak2/ --incremental-basedir=/backup/add_bak1/ --databases="dbtest"
#第三次增备
xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --incremental --target-dir=/backup/add_bak3/ --incremental-basedir=/backup/add_bak2/ --databases="dbtest"
2.XtraBackup恢复
#1.准备恢复全备
#停止服务
service mysql stop
cd /usr/local/mysql/data
rm -rf ./bptest
#拷贝data下其他数据库及文件
cp -r /usr/local/mysql/data /backup/.
#清空data下所有文件,否则还原报错
rm -rf *
#进入相应备份目录还原
cd /backup/
innobackupex --apply-log --redo-only /backup/all_bak
#将data下其他文件复制回来
cp -r /backup/data/* /usr/local/mysql/data/.
#2.准备恢复第一次增备
innobackupex --apply-log --redo-only /backup/all_bak --incremental-dir=/backup/add_bak1/
#3.准备恢复第二次增备
innobackupex --apply-log --redo-only /backup/all_bak --incremental-dir=/backup/add_bak2/
#4.准备恢复第三次增备(最后一次增备不加参数--redo-only)
innobackupex --apply-log /backup/all_bak --incremental-dir=/backup/add_bak3/
#5.开始恢复(使用全备目录下文件)
innobackupex --copy-back /backup/all_bak
chown -R mysql:mysql /usr/local/mysql/data/
#启动服务
service mysql start