alibaba / canal

阿里巴巴 MySQL binlog 增量订阅&消费组件
Apache License 2.0
28.45k stars 7.61k forks source link

canal+kafka,采集到的UPDATE消息,没有old节点,data里只有被更新的字段 #1834

Closed chuangzai closed 5 years ago

chuangzai commented 5 years ago

canal+kafka,采集到的UPDATE消息,正常情况下,推送的节点里,old里面是本次更新前的值,data里是包含所有字段的最新数据,但发现有个instance采集后没有old节点,data里只有被更新的字段,无法根据主键条件进行下一步处理,请问这个问题有遇见过吗?

采集到的信息: { "data": [ { "update_time": "2019-05-22 18:20:25" } ], "database": "order_center", "es": 1558520425000, "id": 3, "isDdl": false, "mysqlType": { "update_time": "datetime" }, "old": null, "pkNames": null, "sql": "", "sqlType": { "update_time": 93 }, "table": "order_info", "ts": 1558520425189, "type": "UPDATE" }

chuangzai commented 5 years ago

已解决:该库binlog_row_image被设置成了MINIMAL 处理: set binlog_row_image ='FULL';

webf2e commented 4 years ago

@chuangzai 太感谢你了

siriuscc commented 4 years ago

我也遇到这个问题,还是对数据库不够了解。感谢。