flink使用MySQL cdc源表,mysql版本为8.0, 无法将删除记录写入另一张mysql表

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

展开
收起
游客rjbzgl3e7jpdi 2023-03-07 09:51:14 604 分享 版权
3 条回答
写回答
取消 提交回答
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    检查下表是不是定义了外键关联,如果是删除记录可能会导致违反外键约束,从而导致插入失败。

    2023-03-25 17:40:40
    赞同 展开评论
  • 实验了一下,理解有误,目标表是根据binlog重复执行源表操作,而不是将源表被操作数据取出塞到目标表。

    2023-03-07 11:40:04
    赞同 展开评论
  • 十分耕耘,一定会有一分收获!

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

    2023-03-07 10:26:06
    赞同 1 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理