flink使用MySQL cdc源表,mysql版本为8.0, 无法将删除记录写入另一张mysql表[阿里云实时计算 Flink版]

需求期望记录一张表的数据删除记录,使用flink mysql cdc来实现。使用 ‘debezium.skipped.operations’=’c,u,t’参数进行过滤后,通过’connector’ = ‘print’为sink在日志可以看到删除记录,但使用’connector’ = ‘jdbc’和’connector’ = ‘mysql’无法将删除记录写入。取消过滤条件后,新增、更改记录均可以正常写入目标表,删除记录依旧不行。请问是因为什么?要如何修改?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 检查下表是不是定义了外键关联,如果是删除记录可能会导致违反外键约束,从而导致插入失败。

  2. 实验了一下,理解有误,目标表是根据binlog重复执行源表操作,而不是将源表被操作数据取出塞到目标表。

  3. 楼主你好,根据你的描述,你可以看一下是不是涉及到使用限制,因为MySQL的CD源表需要一个特点权限的用户,才能读取全量和增量数据。而且MySQL的CDC源表无法同步Truncate操作。