需要安装xtrabackup
增量备份:对比第一次增量会生成新的文件
周一:做完全备份
innobackupex --user='root' --password='数据库密码' /备份存放的路径/
周二:数据库做了insert操作,主机做增量备份
innobackupex --user='root' --password='数据库密码' --incremental /备份存放的路径/ --incremental-basedir=/备份存放的路径/周一生成的备份文件/
周三:
innobackupex --user='root' --password='数据库密码' --incremental /备份存放的路径/ --incremental-basedir=/备份存放的路径/周二生成的备份文件/
恢复:
1.停止数据库:
systemctl stop mysqld
2.清理环境
rm -rf /var/lib/mysql/*
3.验证数据,数据合并:
1.验证完全备份的数据库:路径填写完全备份的数据路径
innobackupex --apply-log --redo-only /存放的目录/周一备份的文件/
2.依次回滚
--incremental-dir= 增量备份数据的顺序,周一、周二、周三
innobackupex --apply-log --redo-only /备份存放的目录/周一的备份/ --incremental-dir=/备份存放的目录/周二的备份/
4.恢复数据
所有的数据已经合并到了完全备份当中,填写的路径是完全备份的路径
innobackupex --copy-back /备份存放的目录/完全备份的路径/ //选择恢复的文件
5.授权数据存储路径
chown -R mysql.mysql /var/lib/mysql
6.启动数据库
差异备份:
每次备份对比第一次的差一,然后合并
周一: 完全备份
innobackupex --user='root' --password='密码' /备份存放目录/
周二:数据库做了insert操作
第一路径:差异备份的数据存放的路径,第二路径是:完全备份的路径
innobackupex --user='root' --password='密码' --incremental /备份存放目录/ --incremental-basedir=/备份存放目录/第一次备份的文件/ //都与第一次完整备份的文件对比差异
周三:
innobackupex --user='root' --password='密码' --incremental /备份存放目录/ --incremental-basedir=/备份存放目录/第一次备份的文件/
恢复
1.停止数据库
2.清理环境
3.验证数据,数据合并
验证完全备份的数据
1.innobackupex --apply-log --redo-only /备份存放目录/第一次备份的文件/
将差异备份和完全备份合并,第一路径是完全备份的路径,第二个路径是差异备份的路径
2.innobackupex --apply-log --redo-only /备份存放目录/周一备份的数据/ --incremental-dir=/备份存放目录/想要恢复周几的备份数据/
4.恢复数据
所有的数据已经合并到了完全备份当中,填写的路径是完全备份的路径
innobackupex --copy-back /备份存放目录/周一/
5.授权数据存储路径
6.启动数据库