‘id' is LONG type, Can't change column type to DECIMAL
modify precision is not supported, col=id, type decimal, old=11, new=21
  • 目前不支持跨大字段类型修改,例如不支持将 int 修改为 varchar
  • 目前不支持decimal精度修改,比如不支持将 decimal(4,2) 修改为 decimal(6,2) 等。
  • 非整库同步:

    建议重新同步这张表(即先从同步对象中去掉,然后删除目标库的表,再把这张表加入到同步对象中),DTS会重新进行包括schema拉取的全量同步,这样会跳过此类型的DDL。

  • 整库同步:

    AnalyticDB MySQL版 中新建一张表,表名要不同于报错的表,表结构需要和源表的表结构一致,通过Insert Into Select将源表中的数据写入新建表中,删除报错的表,然后通过Rename将新表更名为报错的表名,重启DTS任务即可。

    Cannot parse "2013-05-00 00:00:00": Value 0 for dayOfMonth must be in the range [1,31]]
    主要是时间、日期类型的字段报错。
    与MySQL不同, AnalyticDB MySQL版 不支持非法日期值的写入。
  • 任务处于全量初始化阶段:

    将源表的值修改为合法值即可(例如将上面的报错值改为2013-05-01 00:00:00)。

  • 任务处于增量同步阶段:

    把这张表从同步对象中去掉,修改源表值为合法值,把表添加到同步对象中,然后重启同步任务。

  • 整库同步的增量同步阶段:

    提交工单 联系技术支持打开非法值写入开关。开关打开后,所有非法值的写入会被转为null。

    表不存在,如
    DTS-077004: Record Replicator error. cause by [[17003,2020051513063717201600100703453067067] table not exist => xxx_table] 
    目前 AnalyticDB MySQL版 不支持无主键表的同步。
    只会在整库同步时才会发生,需要先判断源库是否为无主键表,如果是,由于DTS不支持无主键表同步到 AnalyticDB MySQL版 中,遇到此情况,请手动在目标库创建表并且保证新建的表有主键,建表后重启DTS任务即可。
    com.mysql.jdbc.PacketTooBigException: Packet for query is too large (120468711 > 33554432). You can change this value on the server by setting the max_allowed_packet' variable.
    提交工单 联系技术支持,升级 AnalyticDB MySQL版 集群到最新版本。
  •