mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

时间:2022-02-07 20:05:57

1、开始mysqlbinlog日志功能

先找打my.cnf文件的位置:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


2、编辑my.cnf文件,添加如下内容,然后按ecs, wq保存退出

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


3、这样的话mysqlbinlog功能就打开了。再根据mysql日志恢复数据库


4、查看日志文件,我的日志文件在数据库文件的data目录:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

5、通过mysqlbinlog来查看日志文件里面的内容:

a.先找到mysqlbinlog的目录

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

b.在该目录下查看日志文件:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


日志文件:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

这样的日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了,要想看到具体的sql,用如下命令:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

日志文件:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


6、根据时间点恢复数据库:

目前我的zz数据库中的in表中的记录已经删除了,现在根据位置来恢复数据库:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


查看最新的日志,18

插入表的地方:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

最后一条记录commit的地方:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


根据这两个地方执行恢复:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux

查看数据库:恢复成功:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


根据时间点恢复:

mysql5.7 根据二进制文件mysqlbinlog恢复数据库 Linux


效果一样,完成!