mysql查看binlog, 追溯历史
有时候我们会通过navicat手动修改数据, 但是发现修改错了, 但是有记不清原始数据了, 怎么办
为了避免这种情况可以通过以下方式
方案1. 修改的时候,加上原始数据作为条件, 这样日志就会记录原始的sql语句

方案2. 修改binlog的模式为ROW模式, 这种模式详细的记录了修改前后的值
下面就是binlog文件

通过宝塔可以看到binlog模式

默认模式是 MIXED 会根据当前语句的情况选择特定的模式记录日志

ROW模式记录了修改前后的值

我们可以通过以下命令看到特定时间段的日志 (通过mysqlbinlog, 解析查看27号18:10 到27号18:20的日记信息)
/www/server/mysql/bin/mysqlbinlog \
--base64-output=DECODE-ROWS \
-v \
--start-datetime="2025-11-27 18:10:00" \
--stop-datetime="2025-11-27 18:20:00" \
mysql-bin.000005
也可以通过以下命令, 把查询结果导出
/www/server/mysql/bin/mysqlbinlog \
--start-datetime="2025-11-27 13:00:00" \
--stop-datetime="2025-11-27 15:00:00" \
mysql-bin.000005 > /tmp/check_recovery.sql
浙公网安备 33010602011771号