Debezium系列之:查看每个Binlog事件的原始SQL语句
一、背景
消费debezium数据,希望查看执行每条数据的sql语句:
- “source”:{“version”:“1.9.4.Final”,“connector”:“mysql”,“name”:“debezium-prod-optics_prod_1h”,“ts_ms”:1660859266000,“snapshot”:“false”,“db”:“optics_prod”,“sequence”:null,“table”:“order”,“server_id”:54073461,“gtid”:null,“file”:“mysql-bin-changelog.214860”,“pos”:119367263,“row”:0,“thread”:0,“query”:null},“op”:“u”,“ts_ms”:1660880457484,“transaction”:null}
- 如上所示:发现query为null,没有显示出执行这条数据的sql
二、修改配置文件启用查询日志事件
想要查看每个Binlog事件的原始SQL语句,需要启用启用binlog_rows_query_log_events
- 在MySQL配置文件中启用binlog_rows_query_log_events选项允许执行此操作。
- 此选项在 MySQL 5.6 及更高版本中可用。
- binlog_rows_query_log_events 设置为启用/禁用对在 binlog 条目中包含原始 SQL 语句的支持的值。
- 访问mysql配置文件,配置 binlog_rows_query_log_events=ON
三、命令行启用查询日志事件