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