mysql转bin-log日志文件为sql文件

mysql打开bin-log日志后,mysql数据库的非查询操作会将记录保存到bin-log文件中。一般bin-log日志文件不能打开查看的,需要用到mysql的工具进行。

假设/mysql/data/目录中存放着二进制文件mysql-bin.000011。需要将日志文件mysql-bin.000011中关于数据库db1的sql语句导出到文件db1.sql中,进行如下操作

[mysql]mysqlbinlog mysql-bin.000011 -d db1  > db1.sql      //将binlog日志文件关于db1库的sql转出到sql
[mysql]mysqlbinlog  --start-date="2017-08-12 15:00:19" --stop-date="2017-08-12 15:30:19"  mysql-bin.000011 -d db1  > db1.sql      //选择时间范围导出

如果binlog日志文件记录为ROW格式,可以

[mysql]mysqlbinlog  --base64-output=decode-rows -v --start-date='2020-04-29 14:00:00' --stop-date='2020-04-29 15:00:00' mysql-bin.000001 >0.sql     //将row格式的binlog日志文件base64解析后转入文件,-v代表换行展示

执行完毕后在当前目录会生成db1.sql的文件,这时可以用vim/vi来打开文件。


当执行mysqlbinlog提示命令未定义时,可搜索命令的绝对路径来执行

推荐阅读更多精彩内容