最近总结了部分xtrabackup的增量备份与恢复的步骤,好记性不如烂笔头。为了测试方便使用的是root账户来备份mysql,正常生产环境还是要使用特定的备份账户来备份。
简要记录一下大概步骤:
增量备份
1、对mysql做全备,这是做增量备份的前提。
-
innobackupex --defaults-file=/etc/my.cnf /innobackup/base --user=root --password=123456 --no-timestamp
备份完成后,在/innobackup中会创建全备的文件夹base。
2、在mysql中进行部分修改然后基于全备做第一次增量备份
-
innobackupex --incremental /innobackup/base-1 --user=root --password=123456 --no-timestamp --incremental-dir=/innobackup/base
备份完成后,在/innobackup中会创建第一次的增量备份文件夹base-1
3、在mysql中进行部分修改然后基于第一次的增量备份做第二次的增量备份
-
innobackupex --incremental /innobackup/base-2 --user=root --password=123456 --incremental-basedir=/innobackup/base-1 --no-timestamp
备份完成后,在/innobackup中会创建第二次的增量备份文件夹base-2
增量恢复
xtrabackup的增量恢复的方法是分别将增量备份跟全备进行合并,然后再将全备进行恢复。
恢复的步骤如下:
1、将第一次的增量备份合并到全备
-
innobackupex --apply-log --redo-only --incremental /innobackup/base --incremental-dir=/innobackup/base-1
2、将第二次的增量备份合并到全备
-
innobackupex --apply-log --redo-only --incremental /innobackup/base --incremental-dir=/innobackup/base-2
3、模拟数据库故障,删除部分数据
4、停掉数据库,删除mysql的datadir下的所有文件,恢复数据,修改datadir的用户权限,然后启动mysql
-
service mysql stop
-
-
rm -rf /data/mysql/*
-
-
innobackupex --copy-back /innobackup/base
-
-
chown -R mysql.mysql /data/mysql
-
-
service mysql start
5、检查数据是否被正确的恢复,以上就是比较完整的xtrabackup恢复步骤
阅读(1996) | 评论(0) | 转发(0) |