xtrabackup备份与恢复
1、安装
yum install -y perl-DBD-MySQL
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-31-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 root@192.168.10.150 cat ">" /mysqlbackup/dbbackup20110809.tar
嗨、骚年、快来消灭0回复。