1、安裝
yum install -y perl-DBD-MySQL
yum install -y perl-DBI
yum install -y perl-Time-HiRes
tar -zxvf percona-xtrabackup-2.1.5-680-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.1.5-Linux-x86_64/
cp bin/innobackupex /usr/bin
cp bin/xtrabackup* /usr/bin/
2、全量備份以及恢復
全備
innobackupex --user=root --password=123456 --defaults-file=/wang/my.cnf /wangdata
恢復
sh administrator_mysql.sh stop 3306 /wang/ #######停止數據庫
find /wang/* ! -name "my.cnf"|xargs rm -rf ########刪除掉數據庫
innobackupex --apply-log --use-memory=4G --defaults-file=/wang/my.cnf /wangdata/2016-08-30_17-46-57/ #########應用日誌
innobackupex --copy-back --defaults-file=/wang/my.cnf /wangdata/2016-08-30_17-46-57 #########恢復數據
chown -R mysql:mysql /wang/ #########授權數據庫
sh administrator_mysql.sh start 3306 /wang/ #########啓動數據庫
備份部分表或者庫
innobackupex --user=root --password=123456 --defaults-file=/wang/my.cnf --database=test /wangdata
3、 增量備份及還原
先進行全量備份
innobackupex --user=root --password=123456 --defaults-file=/wang/my.cnf /wangdata/
第一次增量備份
innobackupex --user=root -password=123456 --incremental /wangdata/ --incremental-basedir=/wangdata/2016-08-31_15-31-55
第二次增量備份
innobackupex --user=root -password=123456 --incremental /wangdata/ --incremental-basedir=/wangdata/2016-08-31_15-37-55
增量還原時先對全量進行還原
innobackupex --apply-log --redo-only /wangdata/2016-08-31_15-31-55 ########--redo-only 不回滾未提交事務,給後面增量備份使用,此時不會生成ib_logfileN等件
在對增量進行還原
innobackupex --apply-log --redo-only /wangdata/2016-08-31_15-31-55 --incremental-dir=/wangdata/2016-08-31_15-47-13
然後到全量備份集中,回滾沒有被提交的事務
innobackupex --apply-log /wangdata/2016-08-31_15-31-55
開始copy_back
innobackupex --copy-back /wangdata/2016-08-31_15-31-55
chown -R mysql:mysql /data/mysql/
service mysqld start
4、備份壓縮
innobackupex --user=root -password=123456 --compact /wangdata/
可以檢查xtrabackup_checkpoints文件內容
less /wangdata/2016-08-31_16-28-20/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 1631274
last_lsn = 1631274
compact = 1
壓縮的備份集,還原應用的時候需要加如下參數:
innobackupex --apply-log --rebuild-indexes /wangdata/2016-08-31_16-28-20
--rebuild-indexes指明備份集是壓縮的
5、壓縮備份包
備份的時候可以通過tar,gzip等工具來打壓縮備份包,執行命令如下:
innobackupex --user=root --password=123456 --defaults-file=/huaiyu/my.cnf --stream=tar /wangdata/ 2>/tmp/xtrabackup2.log |gzip 1>/wangdata/backup20160831.tar.gz
6、備份到其他服務器
innobackupex --user=root --password=123456 --stream=tar /wangdata/ |ssh [email protected] cat ">" /mysqlbackup/dbbackup20110809.tar