tidb从5.3.0迁移到新集群6.5.5,用什么方案比较快和安全些

【 TiDB 使用环境】生产环境
【 TiDB 版本】旧集群v5.3.0,新集群v.6.5.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
根据要求需要将旧集群tidb5.3.0的迁移到新集群v6.5.5上。大家可有什么好的方案推荐,因是生产要求数据一定要一致。感谢感谢 :pray: :pray: :pray:
【资源配置】
【附件:截图/日志/监控】

看数据量,量小dumpling导出再导入新集群就好了
量大就br导出导入,不同版本的tidb br工具的版本也不同,需要自己测试兼容性

可以一路升级

就这个br工具,看文档没说5版本和6版本兼容问题。而且BR工具只能全量恢复,增量怎么办?

我是3.x升级到6.x, 新环境准备好,同步一部分数据先验证后,把大部分数据同步了,停机,把余下的增量数据同步完成,上线

先把存量同步过去,增量的可以看看主从同步

请问旧集群升级高版本后,您用什么工具做存量和增量的到新集群的?

dumpling导出。

dumpling+lignting全量 binlog增量

建议先找测试环境完成升级,然后再升级生产环境

增量用ticdc

全量迁移,再增量迁移
全量迁移:dumpling导出数据
增量迁移:TiCDC

1 个赞

关于dumpling和lighting在恢复的时候,好像会校验目标集群存储。原集群5T,但是lighting可能会要求目标集群20T才给恢复。亲们可遇到过

当使用默认的 3 副本设置时,TiDB Lightning 需要 TiKV 集群预留数据源大小 6 倍的空间。多出来的 2 倍是算上下列没储存在数据源的因素的保守估计:

  • 索引会占据额外的空间
  • RocksDB 的空间放大效应
    tidb-lightning 任务配置

[lightning]的任务配置中的这个参数关闭不知道管用不?
启动之前检查集群是否满足最低需求。
#check-requirements = true

tidb-lightning,cdc 等等

一路升级,该用强制命令就得用,之前升级时,其他组件都升级成功了,就监控升级失败,强制升级才成功

方案一:直接原地升级。方便快捷,但是无法回退。

方案二:另外部署一套高版本的集群,业务切换集群地址完成升级。需要用BR+TiCDC实现数据的基量和增量同步,使用sync_diff工具校验一致性后切换。操作步骤多且相对复杂,但是可以回退。

业务都需要提前在测试环境验证兼容性和性能等问题。

可以考虑直接旧集群升级,如果旧集群服务器性能不如新集群,可以通过扩缩容的方式,把集群迁移到新服务器上。

1 个赞

滚动升级