查看 binlog 日志是否开启:
show variables like '%log_bin%';
找到 mysql 配置文件:
C:\Program Files\MySQL\MySQL Server 5.5\my.ini 或在
C:\ProgramData\MySQL\MySQL Server 5.5\my.ini
用记事本打开,
在对应位置 [mysqld]下,添加:
[mysqld]
#开启binlog模式 log-bin=mysql-bin binlog-format=ROW server-id=1
如:
或
保存配置文件。
重启 mysql 服务:
记得,
使用管理员权限运行:
查看功能是否开启:
show variables like '%log_bin%';
log_bin = ON
然后去变更表数据,此后才会生成 binlog 日志:
update t_punch set name='张三' where id=280;
查看 binlog 事件:
show binlog events in 'mysql-bin.000001';
找到对应回溯事件的 commit 注释 /* xid = 72 */
上一个事件:
将 binlog 转回 sql 文件,寻找变更前的数据:
c:\ProgramData\MySQL\MySQL Server 5.5\data> mysqlbinlog --no-defaults -v --base64-output=decode-rows mysql-bin.000001 > 20220807.sql
记事本打开 20220807.sql ,文件头部:
根据对应 commit 注释 /* xid =72 */ , 搜索 Xid = 72
打码处即是变更前的数据。