1. 程式人生 > >XtraBackup的全備和增備的恢復

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