Xtrabackup備份恢復

徹底備份+兩次增量備份 --> 新主機恢復

環境:
  CentOS7.4 x 2
  MariaDB-5.5.5
  zabbix數據
  EPEL源
  Xtrabackup工具包mysql


1、兩臺主機分別安裝Xtrabackup

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
yum install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm -y

#Xtrabackup包依賴於epel源一些工具包,因此使用yum安裝。

2、徹底備份數據庫

當前數據庫狀態:
Xtrabackup備份恢復sql

徹底備份數據庫:數據庫

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /backup/

出現completed OK!表示備份完成
Xtrabackup備份恢復
備份的數據:
Xtrabackup備份恢復app

3、修改數據,並執行第一次增量備份

mysql> create database 1st;

修改後的數據:
Xtrabackup備份恢復
進行增量備份:ide

mkdir /backup/up1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --incremental  --incremental-basedir=/backup/2018-02-27_14-44-54 /backup/up1

第一次增量備份的數據:
Xtrabackup備份恢復工具

4、再次修改數據,進行第二次增量備份

mysql> create database 2st;
mysql> create database Xtrabackup_test;

Xtrabackup備份恢復

進行第二次增量備份:code

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --incremental  --incremental-basedir=/backup/up1/2018-02-27_14-48-24 /backup/up2/

Xtrabackup備份恢復

三次備份後的數據:
Xtrabackup備份恢復blog

5、恢復前準備

1.將備份數據和/etc/my.cnf文件拷貝到另外一臺主機事務

scp -r /backup/  192.168.1.4:/root
scp /etc/my.cnf 192.168.1.4:/etc/

2.不要啓動數據庫,開始恢復前的準備工做;rem

#回滾未提交的事務及同步已經提交的事務至數據文件使數據文件處於一致性狀態:
innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/

Xtrabackup備份恢復

3.將增量備份整合進全備份中:

innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/ --incremental-dir=/root/up1/2018-02-27_14-48-24

Xtrabackup備份恢復

innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/ --incremental-dir=/root/up2/2018-02-27_14-50-03

Xtrabackup備份恢復

6、開始恢復

1.確保數據目錄爲空

rm -fr /var/lib/mysql

2.拷貝文件到數據目錄

innobackupex --copy-back --datadir=/var/lib/mysql  /root/2018-02-27_14-44-54/

Xtrabackup備份恢復

七、啓動數據庫

修改數據庫目錄權限:

chown -R mysql.mysql /var/lib/mysql

啓動數據庫:

systemctl start mariadb

查看數據:

Xtrabackup備份恢復

相關文章
相關標籤/搜索