Flink-Connector-Mysql-Cdc 监听主键为 Binary 格式的 MySQL 表时出现错误,如何解决?

Flink-Connector-Mysql-Cdc 监听主键为 Binary 格式的 MySQL 表时出现错误,如何解决?

数据库 2024-11-11 22:18:03 9个月前

flink-connector-mysql-cdc 监听 mysql 时遇到主键为 binary 格式的错误

在使用 flink-connector-mysql-cdc 2.1.1 监听 mysql 数据库时,如果 mysql 表的主键为二进制格式,可能会出现错误提示:[b cannot be cast to java.lang.comparable。如何解决这个问题?

问题分析

从错误提示可以看出,问题出在拆分表时。当 mysql 表的主键为二进制格式时,拆分器无法将二进制主键转换为可比较的格式,导致了类型转换异常。

解决方法

经过调查,该问题的解决方法是升级到 flink-connector-mysql-cdc 的最新稳定版本。在最新版本中,该问题已得到修复。

具体操作步骤如下:

更新 maven 依赖:
<dependency>  <groupId>com.ververica</groupId>  <artifactId>flink-connector-mysql-cdc</artifactId>  <version>2.1.3</version></dependency>
重新构建和部署作业。确认问题已解决。

其他信息

此问题的相关 issue 已在 github 上提出并已解决:https://github.com/ververica/flink-cdc-connectors/issues/2746。

文章版权声明:除非注明,否则均为网络转载文章,转载或复制请以超链接形式并注明出处。