一、开启binlog
mysql安装好后默认是没有开启binlog日志功能的,需要手动开启并重启mysql服务才能生效。点击链接:mysql开启binlog日志方法
二、演示数据
三、数据恢复
删除数据
3.1、查看当前日志
show master status;
3.2、刷新binlog日志,生成一个新的日志
我们先来刷新binlog日志,生成一个新的日志,那么我们之后所要操做的内容都会被记录到新的日志文件中,我们只需要对旧的日志做恢复就行了
flush logs;
SHOW MASTER STATUS;
插入数据操作
3.3、查看旧日志
3.3.1、方式1
SHOW BINLOG EVENTS IN 'mysql-binlog.000006';
3.4、数据恢复–从建库前恢复
目的
我们直接恢复删除前的所有数据
注意
恢复前,先刷新日志,产生新日志mysql-binlog.000008,
不让恢复数据的日志写到 mysql-binlog.000007,而是写到mysql-binlog.000008。
方便之后恢复mysql-binlog.000007
查看恢复的起始点和结束点
我们看到delete_rows 结束点是1694这个点,起始点是在1478这个点,我们可以把操作的这些数据删除到我们上次备份的内容,然后通过执行binlog来进行恢复,当然恢复到1478这个点之前。
执行操作
mysqlbinlog --start-position=570 --stop-position=1478 "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-binlog.000006" > d:\0test1.sql
恢复的数据
3.5、恢复删除后的操作
我们发现,删除数据后,我们插入的数据没显示,这个时候需要通过同样的方法,使用binlog.000007 日志来恢复
通过上面的日志文件,确认开始点154和结束点716
恢复数据
mysqlbinlog --start-position=154 --stop-position=716 "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-binlog.000007" > d:\0test1.sql