一、實驗環境
1、準備兩臺虛擬機,系統centos7
2、 兩臺虛擬機裝好mariadb-server
3、兩臺主機配置好epel源,下載新版本的xtrabackup rpm包
二、實驗步驟:
-
在原主機上實現
1、完全備份
mkdir /backups/{full,inc1,inc2} -pv
xtrabackup --backup --target-dir=/backups/full/
2、第一次修改數據
mysql hellodb -e ”insert hellodb.students (name,age) values('a',18)“
3、第一次增量備份
xtrabackup --backup --target-dir=/backups/inc1/ --incremental-basedir=/backups/full
4、第二次修改數據
mysql -e "insert hellodb.students (name,age) values('b',28);"
5、第二次增量備份
xtrabackup --backup --target-dir=/backups/inc2/ --incremental-basedir=/backups/inc1/
scp -r /backups/ 目標主機:/
-
在目標主機上實現
1、清空數據,停服務
systemctl stop mariadb
rm -rf /data/mysql/*
2、預處理數據庫
xtrabackup --prepare --apply-log-only --target-dir=/backups/full
xtrabackup --prepare --apply-log-only --target-dir=/backups/full --incremental-dir=/backups/inc1/
xtrabackup --prepare --target-dir=/backups/full --incremental-dir=/backups/inc2
3、複製數據
xtrabackup --copy-back --target-dir=/backups/full
4、權限和啓動服務
chown -R mysql.mysql /data/mysql/
systemctl start mariadb
三、實驗總結:
xtrabackup版本升級到2.4後,相比之前的2.1有了比較大的變化:
innobackupex 功能全部集成到 xtrabackup 裏面,只有一個 binary程序,另
外爲了兼容考慮,innobackupex作爲 xtrabackup 的軟鏈接,即xtrabackup現
在支持非Innodb表備份,並且Innobackupex在下一版本中移除,建議通過
xtrabackup替換innobackupex xtrabackup備份工具適用於較大型的數據庫文件備份,比mysqldump適用場景更多一些。