Mysqlbinlog日志文件转Sql
需求场景
1、项目开发过程中需要记录用户的授权截止日期
2、项目数据库该字段类型为int
3、偶尔的情况下发生该字段值变更为当前年份,例如:2020年即该字段值便是2020
4、项目涉及Web前端、后端、C++均会修改该字段
问题排查
1、先对接口进行了逐个排查后未发现问题,于是怀疑项目后台
2、对项目后台进行检测未发现问题
3、要求C++对该字段修改进行排查也未发现问题
4、查看Mysql操作日志
binlog文件遇到问题
1、binlog文件无法通过一般的IDE编辑器打开
2、通过Mysqlbinlog读取,但读取时sql语句是被加密的
binlog文件转sql文件
1、找到mysqlbinlog.exe程序
2、一般在mysql/bin目录里面
3、打开cmd或者git bash 执行下列语句1
./mysqlbinlog.exe --base64-output=decode-rows -v ./1/mysql-bin.001573(binlog文件位置) --result-file=./2/1.sql(要转成的sql文件位置)