DM数据迁移报错权限不足

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.1
【遇到的问题:问题现象及影响】
DM任务执行load时报错没有权限,按照我的理解以及规则制定,load阶段应该走的是TiDB的账号以及权限,但是报错中发现TiDB的账号没有Mysql库的权限,不知道是bug还是配置问题。。
【附件:截图/日志/监控】
【数据源配置(上游mysql账号:ymjxc)】

【DM任务配置(TiDB账号:jm;routes规则:上游jmJxc库的td_jxc_stmtzx_*表迁移到下游TiDB的jhmymysql库的td_jxc_stmtzx表)】

【DM任务报错】

检查下配置的账户的权限吧,DM 只支持 mysql → tidb…


tidb → tidb,要用别的方案

账号权限对吗

就是mysql导入到tidb

我尝试在TiDB里面给了jm账户对jmJxc库的all权限,确实报错会消失,但是这就脱离了初始设计的路由,路由规则为从MySQL的jmJxc库迁移数据到TiDB的jhmymysql库。

你在哪看到load阶段应该走的是TiDB的账号以及权限,任务启动就应该做权限的校验吖

用户权限不足,用大权限用户处理这种一次性任务你会避免很多问题

首先我这个任务,是从上游mysql迁移到下游tidb,并且是全量加增量的迁移,细节为先从上游mysql中dump,此时提供了(ymjxc)账号给的是所有库的all权限,让工具能够有权限去上游mysql中进行dump工作,然后是去TiDB中load,此时我在TiDB中提供了(jm)账号,给的是jhmymysql库的all权限,根据任务状态,本次任务在load阶段报错,所以我判断为TiDB的权限出现了问题,但是我想不明白,为什么TiDB中需要能够创建上游MySQL的jmJxc库的权限,我路由规则明明是到下游TIDB的jhmymysql库。

后续尝试中我给了TiDB的(jm)账号所有库的all权限,任务跑起来了,实际中在TiDB中创建了一个jmJxc的空库,但数据load到了jhmymysql库,达到了我的设计想法,但是还是没明白为啥会创建一个jmJxc的空库,,

我记得分表集合是会有个空库

是的,不知道这个空库的作用是什么。

下游TIDB的那个用户的权限是啥?时all权限用户么?不是的话,应该先要给这个用户权限,导完再把权限给回去