开启binlog
log-bin=mysql-bin
#binlog有三种模式、row、statement、mixed
binlog_format=mixed
默认binlog的位置在mysq数据目录data下面,mysqlbinlog工具在安装目录的bin文件夹下。
mysqlbinlog的参数
-d, --database=name 仅显示指定数据库的转储内容。
-o, --offset=# 跳过前N行的日志条目。
-r, --result-file=name 将输入的文本格式的文件转储到指定的文件。
-s, --short-form 使用简单格式。
--set-charset=name 在转储文件的开头增加'SET NAMES character_set'语句。
--start-datetime=name 转储日志的起始时间。
--stop-datetime=name 转储日志的截止时间。
-j, --start-position=# 转储日志的起始位置。
--stop-position=# 转储日志的截止位置。
-v, --verbose 自动生成带注释的SQL语句(在行事件中重构伪SQL语句,row格式下的sql语句是base64的字符串)
比如查看某个binlog文件
./mysqlbinlog binlog文件路径 -d 数据库名称 -s --start-datetime="2021-12-01 00:00:00" --stop-datetime="2021-12-01 23:59:59" > 输出到某个目录下方便查看
./mysqlbinlog /var/mysql/data/mysql-bin.000050 -d procrm -s --start-datetime="2021-12-01 00:00:00" --stop-datetime="2021-12-01 23:59:59" > /mnt/b.log