记录一次binlog文件的大作用

需求场景

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文件位置)