查看binlog是否开启
show variables like 'log_bin';
这里已经开启,value为ON, 否则为OFF
若没有开启,则进行binlog配置
路径:C:\ProgramData\MySQL\MySQL Server 5.7
在my.ini文件中加入以下内容:
log-bin=mysql-bin
binlog-format=Row
重启MySQL服务:
如下图,打开计算机管理,服务与应用程序下面选定服务,在右边找到MySQL服务,右键选中重启即可。
更多重启方式参见:MySQL_Windows 下重启MySQL服务
重启后再查看log_bin状态,已经开启:
查看binlog具体内容:
表t2内容如下:
如有下列sql语句:
delete from t2 where a >= 4 and t_modified <='2018-11-10' limit 1;
执行后查看对应的binlog
show binlog events in 'mysql-bin.000001';
查看结果下图:
删除的table_id:108 ,执行操作为delete_rows, xid为7
因为设置的binlog为row类型,我们想看binlog里面的具体信息需要用到mysqlbinlog工具。这个工具是mysql自带,在mysql安装路径下可以看到这个工具。
在路径C:\ProgramData\MySQL\MySQL Server 5.7\Data可以看到生成有binlog。
到C:\ProgramData\MySQL\MySQL Server 5.7目录下,打开cmd
执行如下命令:
mysqlbinlog -vv Data/mysql-bin.000001 --start-position=219
就可以看到binlog里面的内容,如下图,记录了有server_id、Table_map、执行动作delete_rows、涉及行的所有字段和值、xid等。