innobackupex做MySQL增量备份及恢复【转】

创建备份用户

mysql> grant process,reload,lock tables,replication client on *.* to 'backup'@'localhost' identified by 'backup@2017';

mysql> flush privileges;

完整备份

mkdir -p /data/backup/{full,inc1,inc2}

innobackupex --defaults-file=/usr/local/mysql/data/my.cnf --host=localhost --user=backup --password=backup@2017 --port=3306 --parallel=6 --no-timestamp /data/backup/full

第一次增量备份

innobackupex --defaults-file=/usr/local/mysql/data/my.cnf --host=localhost --user=backup --password=backup@2017 --port=3306 --parallel=6 --no-timestamp --incremental /data/backup/inc1 --incremental-basedir=/data/backup/full

注:其中用--incremental-basedir 指定上次全量备份目录

第二次增量备份

innobackupex --defaults-file=/usr/local/mysql/data/my.cnf --host=localhost --user=backup --password=backup@2017 --port=3306 --parallel=6 --no-timestamp --incremental /data/backup/inc2 --incremental-basedir=/data/backup/inc1

注:其中用--incremental-basedir指定上次增量备份目录

查看三次备份的位置点

Percona Xtrabackup实现MySQL增量备份

恢复思路

按照时间顺序分别将各个增量备份合并到全量备份,然后进行copy back操作

预备全量备份

innobackupex --apply-log --redo-only /data/backup/full/

合并第一次增量备份

innobackupex --apply-log --redo-only /data/backup/full/ --incremental-dir=/data/backup/inc1/

合并第二次增量备份

innobackupex --apply-log --redo-only /data/backup/full/ --incremental-dir=/data/backup/inc2/

恢复完整备份

innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back /data/backup/full/

 

转自

Percona Xtrabackup实现MySQL增量备份 - 今日头条(www.toutiao.com)
http://www.toutiao.com/i6410500231103775233/

posted @ 2017-04-19 09:28  paul_hch  阅读(221)  评论(0编辑  收藏  举报