通过mysqlbinlog 恢复数据

时间:2023-03-10 02:08:47
通过mysqlbinlog 恢复数据

前提数据库开启了bin_log记录日志。

通过mysqlbinlog 恢复数据

查看日志

通过mysqlbinlog 恢复数据

刷新日志

flush logs;

再次查看

show binary logs;

通过mysqlbinlog 恢复数据

向表中插入一条数据

通过mysqlbinlog 恢复数据

现在执行delete误操作,删除所有的数据。

delete from admin;

先查看binlog,生成002.sql:
mysqlbinlog mysql-bin.000002 > 002.sql

查看002.sql,并只摘取delete部分内容:

通过mysqlbinlog 恢复数据

可以看到在时间2018-08-15 18:14:15我们做了delete误操作。现在需要用mysqlbinlog恢复到这个时间点前的数据:

mysqlbinlog  --start-date="2018-08-15 16:30:00" --stop-date="2018-08-15 17:00:00" mysql_bin.000001 >admin.sql

执行admin.sql内容后发现数据已恢复:

通过mysqlbinlog 恢复数据