扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
生产环境中在MySQL中误操作是非常正常的,所以就需要用到mysql的增量备份恢复。
增量备份是我们经常用到的,它可以指定某个误操作的时间以及位置点进行数据恢复,更加准确的恢复我们想要还原的数据。
以下实验为大家演示误操作使用增量备份进行数据的恢复。
成都创新互联公司:2013年至今为各行业开拓出企业自己的“网站建设”服务,为近千家公司企业提供了专业的网站设计、网站建设、网页设计和网站推广服务, 按需网站制作由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
1、配置文件中开启二进制日志,并重启mysql
2、创建测试数据库,写入内容
3、查看二进制日志,截断日志,完成完全备份
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql_bin.000001 //查看二进制日志
mysqladmin -uroot -pabc123 flush-logs //刷新截断,形成一个新日志
mysqldump -uroot -pabc123 school > /opt/school.sql //完全备份school数据库
4、查看新生成的二进制文件
5、添加两条数据,再次查看新生成的二进制文件
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 //再次查看新生成的二进制文件
6、模拟误操作、查看二进制文件中误操作的位置点时间点
7、删除list表,先进行完全备份恢复
source /opt/school.sql //进行完全备份恢复
再次查看表,完全备份的数据已恢复
8、再次截断日志,然后进行增量备份恢复
mysqladmin -uroot -pabc123 flush-logs 再次截断日志
(此处截断日志,是为了恢复正确数据的时候不会被前面的操作覆盖)
恢复到误操作前时间点前的操作
mysqlbinlog --no-defaults --stop-datetime='2018-09-03 22:18:29' /usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123
恢复添加jerry的那部分数据
mysqlbinlog --no-defaults --start-datetime='2018-09-03 22:19:27' /usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123
可以查看到五条数据都已被恢复
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流