xtrabackup备份与恢复

8年前 (2017-06-09) gtj mysql, 数据库 0评论 已收录 1034℃

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回复。

×
订阅图标按钮
Less is more!!!