dm同步主键修改bigint 失败

【 TiDB 使用环境`】生产
【 TiDB 版本】v5.0.4, DM版本:2.0
【遇到的问题】 上有mysql通过gh-ost 进行表结构变更,

 ALTER TABLE `db1`.`table1` MODIFY COLUMN `I_ID` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键';

Mysql变更完成后,DM中断

"RawCause": "[ddl:8200]Unsupported modify column: this column has primary key flag

多个表修改主键int改为bigint,出现部分成功、部分失败。


【复现路径】
多次同步中断,未稳定复现。
【问题现象及影响】
DM中断,只能skip 变更ddl,导致上下游(mysql和tidb)表结构不一致。

bigint usigned 变更为 int ,不能兼容这种模式,请参考下面的图

https://github.com/pingcap/tidb/issues/23872 你可以一下这个

感谢大佬:
将表主键 int改成bigint,发现异常(TIDB版本5.0.4 :exploding_head:)。
https://docs.pingcap.com/zh/tidb/v5.0/sql-statement-modify-column#mysql-兼容性

tidb 5.1.0 以后的版本都可以支持了 :love_you_gesture:

5.0.x 支持的确实比较少

问题根因: 将非 unsigned 字段改为 unsigned字段,导致的问题。

测试:V5.0.4、V5.1.4、v5.4.1版本不支持;
非 unsigned 字段改为 unsigned 字段

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。