DM同步

从阿里云的RDS同步数据至TiDB时,现在RDS是设置了高可用集群的,在只读节点查看 show master status时,gtid set 会有3个值,写节点查看时,有2个值,请问dm配置任务时,该如何选择?

1 个赞

这个只需要配置dm数据源连接的mysql实例的server_id和enable-gtid=true即可。

1 个赞

增量同步,配置任务task.yaml时,需要指定binlog 文件,pos,gtid呢?

1 个赞

增量需要配置,起作用的有2个位置
1)checkpoint 表,在下游tidb中
2)如果checkpoint不存在,则以指定的位置开始增量同步
详情参照 https://docs.pingcap.com/zh/tidb-data-migration/stable/task-configuration-file-full/#完整配置文件示例

嗯,我现在没开启tidb的binlog,还没有checkpoint表。我的意思是,没有checkpoint时,需要定位上游数据库的日志位置,gtid是设置一个【如果是,那该设置哪个?】,还是show master status里面的gtid set中的三个全放进去?

你的意思在同步的中途,想开启dm的gtid模式?如果是这样需要三个,可以做到实例之间的切换。另外要看看阿里云的RDS的binlog是不是标准模式,如果是 就没有问题。

不是,就是最开始的时候,RDS集群也开启了GTID模式,我用dumpling+tidb-lightning全量同步好了,现在配置增量同步,需要定位gtid,由于show master status查看到gtid内容有三条,截图如下,不确定该用哪个gtid?

这种 三个最好都配置上去,如果上游mysql 写实例发生切换,然后数据源也发生切换,下游无感知,不用再改动位点。

好的,非常感谢,再问一下,rds现在是一主多从,我现在配置的上游实例是一个从库的,这样会有问题吗

网络策略上,是不是只需要开通rds上的3306端口就可以了,现在数据库的端口是3306,不确定是否需要针对日志开启别的端口

从库同步,没有问题

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