使用DM从MySQL迁移数据只TiDB v5,表数量对不上

【 TiDB 使用环境】测试
【 TiDB 版本】v5.4.3
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】111
【资源配置】
【附件:截图/日志/监控】
部署DM 5.4.3集群后,从源库MySQL 5.7.34迁移至TiDB V5.4.3集群。检查通过,于是启动数据迁移任务。显示状态是Finished,进度是100%。但是源库有1473张表,目标库是1441张,丢失了32张表,这个怎么排查呢?

检查阶段有一类Warnning,说外键可以解析但会被TiDB忽略。迁移后,我发现这些表也是存在的。有40多张表没有主键和唯一索引,在迁移前手工添加了,随机检查了几张表也都迁移过去了。

dumpling工具导出来的吗 ???还是启动任务后导出来的???

使用的DM FULL模式的迁移

将dunmpling导出来的数据 保存下来,


更改成false 。不清空

数据量大不大,可以重新导出来吧???

可以重现来过,我试一下。另外,MySQL源库的存储过程、触发器和函数都没有随着db一块迁移,怎么迁移呢 ?

存储过程 tidb 不支持。

请问,触发器和函数呢?

https://docs.pingcap.com/zh/tidb/stable/mysql-compatibility

您熟读下这个文档


这些都不支持。 您对比下。
对于大型mysql数据库,您说的这些都不会用。 我们整个公司没有一个存储过程,触发器

1 个赞

重新迁移,错误信息:subtasks with name mysql_2_tidb for sources[xxx] already exists
需要重新起一个task?

删掉错误的task吧

有start 和 stop,没看到dmctl --help中有drop或者destory呢?
我重新开始了一个新的task。

发现丢失的是32张视图,看来DM v5.4.3不会迁移视图,需要手工创建。

是的。导出来看看,就知道缺什么了。。哈哈哈

可以看下这里 https://docs.pingcap.com/zh/tidb/dev/dm-overview#使用限制

小王同学挖的深啊!谢谢

:thinking: 使用了视图,那顺便再补充一句(如果后续有使用 dumpling 数据导出的场景)dumpling 导出时默认也是不导出视图的。不过 dumpling 有参数可以修改 -W 或 --no-views 改为 false 就可以。
https://docs.pingcap.com/zh/tidb/stable/dumpling-overview#使用-dumpling-导出数据

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