tidb集群之间的数据迁移

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0.14
  • 【问题描述】:我们现在有一套tidb集群已经投产了(源库,未开binlog),现在又新搭了一套环境(目标库),现在期望从源库复制一份全量的数据到目标库(目标库可以迁移期间不提供对外服务),我该选用怎样的方式做到尽可能效率又对源库影响较小呢?非常感谢!

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

您好,这个目标库未来的定位是什么?后续仍然需要增量同步原库的数据吗?

1、后续仍需要增量同步
v3.0.14 版本,如果是全量同步后,仍然要增量同步原库数据,那么建议使用 Mydumper + TiDB-Binlog 的方式来完成全量以及后续的增量。

1)Mydumper 原库全量导出数据时,建议在业务低峰,以及降低并发来进行。新库导入时,如果想加快导入速度可以考虑使用 TiDB-Lightning importer 模式,但使用该模式时,TiDB 集群无法对外提供服务

2)TiDB-Binlog 增量同步时,建议原库部署 2 个 PUMP 节点,以及 Drainer 开启 relaylog

2、后续不需要增量同步

使用 Mydumper 从原库全量导出数据,使用 TiDB-Lightning 加速数据导入到新库,TiDB-Lightning importer 模式,但使用该模式时,TiDB 集群无法对外提供服务

https://docs.pingcap.com/zh/tidb/v3.0/tidb-binlog-overview/

https://docs.pingcap.com/zh/tidb/v3.0/tidb-lightning-overview/

源库集群没有开binlog;
然后打算先做数据迁移,然后增量迁移可能得另想办法;
后面目标库会去取代源库这套集群

恩恩,明白了,那么建议您在业务低峰期使用 Mydumper 从原库全量导出数据,使用 TiDB-Lightning 加速数据导入到新库, TiDB-Lightning importer 模式,但使用该模式时,TiDB 集群无法对外提供服务

谢谢:grinning:帮助

:handshake::handshake: