前情摘要自己作死干了一件特别蠢的事情(具体略)
然后开始研究如何进行增量备份
增量备份原理mysql 有个 binlog 的功能,会记录所有的用户的操作,可以依靠这个,配合全备份,将数据库回滚到某一个特殊的时刻。hhh
简单来说,比如我们每周做一次全备份,每天做一次增量备份,当数据库发生问题的时候,我们就可以先将数据库回滚到上一周我们的全备份的时间,然后再通过每天的增量备份(其实就是模拟所有的数据库操作,全部执行一遍),将数据恢复到我们想要的时间点。
配置mysql 的 binlog 功能需要在配置文件中打开,在 my.cnf 或者 mysqld.cnf 中添加以下几行:
server-id = 1
# binlog存放路径
log_bin = /var/log/mysql/mysql-bin.log
# binlog记录的格式,有row、statement、mixed三种选项
binlog-format = row
# binlog写缓冲区设置大小,由于是内存,写速度非常快,可以有效提高binlog的写效率,如果数据库中经常出现大事务,可以酌情提高该参数。
binlog_cache_size = 32m
# 最大缓存区大小
max_binlog_cache_size = 512m
# binlog文件最大的大小
max_binlog_size = 1000m
# 需要备份的数据库名,如...
阅读全文