otter 关于过滤“危险”SQL语句

wyyhbhjk  于 2022-11-19  发布在  其他
关注(0)|答案(2)|浏览(194)

由于项目需求,需要对一些“危险”语句进行过滤(即:不进行同步)。所以想在EventProcessor中,通过EventData.getSql()方法获取同步的SQL语句,但实际情况是无法获取insert、update、delete场景下的SQL语句。但是,我在看EventData类中的sql字段描述时,上面的描述是可以获取动态的SQL。是否有大神可以指点下。谢谢。

tkqqtvp1

tkqqtvp11#

补充下:
1、我的mysql是>=5.6,并且在@agapple 大神的指导下,开启了binlog_rows_query_log_events

2、通过canal 1.1.1版本,可以通过com.alibaba.otter.canal.protocol.CanalEntry.RowChange中有一个getSql()方法,来获取到SQL语句

但是,在otter的TestEventProcessor实现类中,无法通过EventData.getSql()获取到SQL语句。

wydwbb8l

wydwbb8l2#

这个sql字段只针对DDL语句, 其他的DML语句无法获取

相关问题