TIDB同步,报SQL错误

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0
  • 【问题描述】:» query-error { “result”: true, “msg”: “”, “workers”: [ { “result”: true, “worker”: “172.30.0.113:8262”, “msg”: “”, “subTaskError”: [ { “name”: “single5”, “stage”: “Paused”, “unit”: “Load”, “load”: { “msg”: “” } }, { “name”: “single6”, “stage”: “Paused”, “unit”: “Sync”, “sync”: { “errors”: [ { “msg”: “[code=10006:class=database:scope=downstream:level=high] execute statement failed: ALTER TABLE h3-warehouse.t_warehouse_store_receipt_ware MODIFY COLUMN batch_code BIGINT(20) NULL DEFAULT NULL COMMENT ‘库存批次号’ AFTER ware_inside_code: Error 1105: unsupported modify column length 20 is less than origin 30”, “failedBinlogPosition”: “db1m-bin|000001.000002:305120336”, “errorSQL”: “[ALTER TABLE h3-warehouse.t_warehouse_store_receipt_ware MODIFY COLUMN batch_code BIGINT(20) NULL DEFAULT NULL COMMENT ‘库存批次号’ AFTER ware_inside_code]” } ] } } ], “RelayError”: { “msg”: “” } } ] }

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

TiDB-v3.0.5

mysql 是5.7.20,dm是v1.0.2

原因

根据 DM 报错可以确认目前遇到 DDL 操作应该是 TiDB 不支持的 DDL 操作,详细的 DDL 使用规范可以参考 《 与 MySQL 兼容性对比》 DDL 段落的内容

解决办法

如果的确是目前 TiDB 无法执行的 DDL 操作,可以通过 skip-sql 跳过。