AWS DMS "Unsupported or commented out DDL" 在 MySQL 源上启用 CDC 时

AWS DMS "Unsupported or commented out DDL" when CDC is enabled on MySQL source

我是 运行 从 RDS MySQL 到 Redshift 集群的 AWS 数据迁移 (DMS) 作业,我启用了详细的 cloudwatch 日志来捕获正在发生的错误。当源 MySQL 数据库 Unsupported or commented out DDL 上的插入和更新语句 运行 时,我收到错误,但这些语句没有注释 DDL。以下是一些示例错误:

2020-11-30T10:53:22:726844 [SOURCE_CAPTURE ]T: >>> Unsupported or commented out DDL: 'INSERT INTO `table_name_1` (`user_id`, `user_name`, `logs`, `ip`, `log_posts`, `action`, `before_or_after`, `user_agent`) VALUES ('1234', 'blah_blah', 'inspection/from_website', '0.0.0.0', '[]', 'View', '', 'Mozilla/5.0 (Linux; Android 10; RMX2151) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36')' (mysql_endpoint_capture.c:1717)

2020-11-30T10:48:49:892445 [SOURCE_CAPTURE ]T: >>> Unsupported or commented out DDL: 'UPDATE `table_name_2` SET `timestamp` = 1606733299 WHERE `id` = 'lkajdfoaiiuo00wueorinalkdfj'' (mysql_endpoint_capture.c:1717)

这两个表都是 MySQL 源数据库上的分区表。我搜索了 AWS DMS 故障排除文档,但找不到任何相关信息。

联系 AWS Support 后,他们说源 MySQL RDS 必须在更改使日志二进制和行的参数后重新启动,即使它们是动态参数。这解决了问题。

完全加载成功。但 CDC 记录并未写入目标。在检查日志时,看到所有记录都有相同的语句。 更改配置后重启 RDS 实例(binlog_format、binlog_checksum、binlog_row_image)确实解决了问题。