DM 启动任务报错

TIDB 版本:5.7.25-TiDB-v5.0.0
DM webUI 6.0

问题:同步其他数据库没有问题 当同步交易库是 有一些表就会报出 fail to initial unit Load of subtask

1 个赞

你这表和其他表有什么不一样吗? 可以把表结构拿出来看看吗?

报错是说那个建表语句报错,你把那个建表语句在下游tidb中执行下看看吧

TIDB下游有这张表,表结构一样的

我是说create table dm_meta这个,把这个语句运行下,最好能把dm日志中的报错发下

您是说我把这一段在tidb中执行一下 是嘛?

应该跟表结构 没有关系 ,我核查过表结构 。没有问题、。

对的,另外如果有worker的详细日志方便的话也提供下

dm_date 下的表跟 正常的相比少了3个image

所以说你在下游执行下那个建表sql,看有没有报错么,
两件事,你要方便的话做下
1.提供dm日志
2下游建表sql执行

好的需要投产 ,有结果 我发给您帮忙解答一下 谢谢

好的,那好比较费劲,这样,如果不涉及私密的话你把建表语句发给我,我这里执行下,另外想问下dm的版本

DM版本 6.0 webUI
多谢您 刚才我在开发环境试了一下这个任务 是没有问题 ,然后我对比开发和生产的字段是没有问题的,还会有什么原因呢?

我猜测是这个任务的表的名称过长了,超出了限定,所以建表失败,如果测试环境任务名一致,最终生成的dm_meta中的任务表和你的报错的任务表一样,且测试正式字符集排序规则一样,那么我的猜测是错的,你可以按照这个思路查查看,可能你们提供信息比较费劲,盲猜只能猜到这种程度了,这个长度和你报错那个表的长度是一样的

https://docs.pingcap.com/zh/tidb/stable/dev-guide-schema-design-overview#标识符长度限制

3 个赞

可以手动在下游创建这个库,然后赋权GRANT Select,Insert,Update,Delete,Create,Drop,Alter,Index ON dm_meta.* TO user@’’; 赋权之后就好了

特别感谢 已经解决了。想请问 您是否遇到任务跑着跑着就遇到这种事情?

感谢!!

excute 语句失败,是因为tidb和mysql并不是完全兼容,有一些语句可能因为不兼容,或者tidb配置问题导致在tidb侧出现失败,遇到这种问题可以根据二进制的位置找到mysql执行的真实语句,看下游执行报什么错,能改就改过来,不能改可以采用绕过或者其他方法

你把表名该短就复制成功啦?

是的 解决了。