XtraBackup的全备和增备的恢复

[环境]

操作系统: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

你可能感兴趣的:(MySQL)