binlog_rows_query_log_events
MySQL 5.6 and later,binlog_rows_query_log_events 系统变量仅影响基于行的日志记录。默认为off,启用后,它会导致服务器将信息日志事件(如行查询日志事件)写入其二进制日志。此信息可用于调试和相关目的。请注意,它确实会使二进制日志变大(变大的程度取决于查询的大小)
额外写入二进制日志的字节数通常为:(22-24 bytes header + sql本身 )
- A 22-24 bytes header.
- The query itself.
mysqlbinlog 解析binlog
如果您添加了两次verbose标志(-vv),那么在使用mysqlbinlog检查二进制日志时,也可以看到明文sqltxt注释。
mysqlbinlog --no-defaults /data/GreatSQL/binlog.000007 --base64-output=decode-rows -v -v > sql.tx
show binlog events 显示出明文sqltxt
show binlog events in "binlog.000009" limit 20;
在MySQL 5.6和更高版本中,可以在主库上启用binlog_rows_query_log_events。当使用基于行的事件记录事务时,这会将原始查询作为注释添加到二进制日志中。从库可以使用此注释来显示正在处理的查询,例如,查询由SHOW PROCESSLIST显示,例如: