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提示命令未定义时,可搜索命令的绝对路径来执行