dm同步问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.5
【遇到的问题:问题现象及影响】
通过dm同步mysql5.7的数据到tidb集群。目前正在运行的dm任务同步了mysql库里的部分表。比如mydb.t1,mydb.t2。现在有新需求,需要添加一个表。比如mydb.t3.请问如何优雅的增加这个表的同步?

新增表需要历史的全量数据吗?

需要的。我的想法停止任务。迁移历史数据。然后配置里加上新表。再启任务。不知道还有没有更好的办法?

这还不够优雅吗,新加一个同步任务?

:thinking:你是不是想说通过正则表达式的方式一劳永逸,再加新表不用改配置,直接就同步了?

学习学习。

停止任务。然后配置里加上新表。再启任务

如果不想另启任务,就在原来的任务基础上加上这张表就行,也可以直接新建一个任务,单独指定这张表。。。


思路还是 基量+增量同步。

如果没有历史数据要同步,即只需要增量数据,那就比较简单了,直接在原来的任务里改一下配置,新增要同步的表,再重新开启同步即可。

如果有历史基础数据要同步,那么可以创建一个新的同步任务,在任务配置文件里开启基量数据同步的功能,实现历史数据迁移,同时配置正常的实时同步。

开个新任务,老的任务不要动了。

新建一个任务吧

新建一个任务吧

同意楼上+1

这种只能新建任务,任务是不能修改的

大佬们,新建任务可能太多了。后面还会有一些表要加上去。会造成资源浪费。停任务,迁移历史数据,启任务。这样操作的。已经上线了。谢谢各位大佬的建议!

1 个赞

这里有篇文章可以参考。我们自己生产数据同步的同时,上下游数据都还有写入场景,表过度集中在一个任务,可能会因为一张表同步出错,整个任务断掉,所以把表数量做了一定的拆分,减小任务断掉造成的影响。
专栏 - DM同步为已有迁移任务增加新同步的表 | TiDB 社区