admin管理员组

文章数量:1582045

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

 

1、开始mysqlbinlog日志功能

先找打myf文件的位置:

 

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

 

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

 

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

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

a.先找到mysqlbinlog的目录  (默认在/var/lib/mysql/)

         show global variables like "%datadir%"

 或

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

 

日志文件:

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

mysqlbinlog  --base64-output=decode-rows -v   mysql-bin.000017

 

日志文件:

 

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

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

 

查看最新的日志,18

插入表的地方:

最后一条记录commit的地方:

 

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

mysqlbinlog      mysql-bin.000018  --start-position=3266   --stop-position=3711   | mysql -uroot

恢复从建表 3266   到插入最后一条数据 3711   间的数据

 

查看数据库:恢复成功:

 

根据时间点恢复:

 

转自:https://blog.csdn/qq_15058425/article/details/61196085

本文标签: 详解数据库数据日志mysql