您的位置:首页 > 数据库 > MySQL

xtrabackup备份与恢复

2017-04-25 11:01 351 查看
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    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql xtrabackup 备份