生产环境中在mysql中误操作是非常正常的,所以就需要用到mysql的增量备份恢复。
增量备份是我们经常用到的,它可以指定某个误操作的时间以及位置点进行数据恢复,更加准确的恢复我们想要还原的数据。
以下实验为大家演示误操作使用增量备份进行数据的恢复。
1,配置文件中开启二进制日志,并重启mysql
引用>
2,创建测试数据库,写入内容
引用>
3,查看二进制日志,截断日志,完成完全备份
引用><代码> mysqlbinlog——已base64-output=decode-rows - v mysql_bin。000001//查看二进制日志代码><人力资源/>
<代码> mysqladmin -uroot -pabc123 flush-logs//刷新截断,形成一个新日志 ,mysqldump -uroot -pabc123学校比;/opt/学校。sql//完全备份学校数据库代码>
4,查看新生成的二进制文件
引用>
5,添加两条数据,再次查看新生成的二进制文件
引用>
<代码> mysqlbinlog——已base64-output=decode-rows - v mysql-bin。000002//再次查看新生成的二进制文件代码>
6模拟误操作,查看二进制文件中误操作的位置点时间点
引用>
7,删除名单表,先进行完全备份恢复
引用>
<代码>源/opt/学校。sql//进行完全备份恢复代码>
<代码>再次查看表,完全备份的数据已恢复代码>
8日再次截断日志,然后进行增量备份恢复
引用><代码> mysqladmin -uroot -pabc123 flush-logs再次截断日志 (此处截断日志,是为了恢复正确数据的时候不会被前面的操作覆盖)代码>
<代码>恢复到误操作前时间点前的操作 mysqlbinlog——已stop-datetime=2018-09-03 22:18:29/usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123 代码><人力资源/>
<代码>恢复添加杰里的那部分数据 mysqlbinlog——已start-datetime=2018-09-03 22:19:27/usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123 代码><人力资源/><代码>可以查看到五条数据都已被恢复mysql增量备份断点恢复