TiDB-v3.0.5 + DM 1.0.2 更改上游mysql及dm-worker

TiDB-v3.0.5 + DM 1.0.2 更改上游mysql及dm-worker
现状: TiDB-v3.0.5 + DM 1.0.2 , 一个dm-worker

目标: 更换上游mysql库和端口,并将一个worker变成4个worker

那我的操作步骤如下:
1 下线现存的一个worker
2 修改inventory.ini,删除之前worker配置,增加4个新的worker
3 部署
ansible-playbook deploy.yml --tags=dm-worker
ansible-playbook start.yml --tags=dm-worker
ansible-playbook rolling_update.yml --tags=dm-master
ansible-playbook rolling_update_monitor.yml --tags=prometheus
4 TIDB重新初始化并同步

请问我的步骤是否正确??

  1. 可以切换上游 MySQL 实例,可以参考: https://docs.pingcap.com/zh/tidb-data-migration/stable/usage-scenario-master-slave-switch#切换-dm-worker-与上游-mysql-实例的连接
  2. 然后走新增 DM-worker 的流程即可。

1 我不是切换主从复制当中的一个库,我是直接更换了一个新的库,也要这样操作吗

  1. 上面的文档适用于同一个库的主从环境. 如果您是不同的库,这里需要保证切换过去的库和当前库数据一致。
  2. 所以感觉需要旧库在某个时刻停止写入后,保证DM同步数据也已经完成,上下游数据一致。 新库也要保证此时和旧库数据一致。
  3. 在切换到新库后,创建新的任务,使用这个时间点之后的binlog日志来同步,应该才能保证数据一致。
  4. 按照你上面的步骤,感觉不好确认同步的位点信息。旧库和新库没什么联系。

起始我的意思,就是重新指定一个新库同步(跟之前的库没关系),只是多了一个去掉之前存在的dm_work操作。

如果新的 dm-worker 有其中一个要部署到原来的 dm-worker 目录的话,step.2 里把原来 dm-worker 参数的 relay 目录和 dm_worker_meta 目录都删除掉。 如果部署到不同目录,步骤没问题。

好的,感谢你

:handshake:

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