版本升级

tidb的版本能直接 从 4.0.4 升级到 6.1 吗,

非常不建议这么做。
https://docs.pingcap.com/zh/tidb/v6.1/upgrade-tidb-using-tiup

最稳最省人力的方法,就是搭建一套6.1的集群,然后用TiCDC同步工具将4.0的数据同步过来,割接的时候暂停业务进行数据比对,有问题还能回退

官方描述可以的
但是这种版本跨越大的,建议安装新版本的集群,采用逻辑导出导入的形式去升级

使用 TiUP 升级 TiDB | PingCAP 文档中心

不是生产环境或不需要数据直接销毁集群,部署6.1的集群,如果是生产环境升级,建议创建一个新的集群进行升级,操作方法:1.需要创建一个同生产一样版本的新的集群。2.把生产环境的数据到入到新的集群,并且升级到6.1版本。然后把升级后版本中的数据导出。3.销毁新的集群,重新创建6.1新版本,导入数据。或者同1楼的建议去做。我做升级的时候使用ticdc是有问题的,原因是我们结构有些特殊。

我们最近打算直接3.0到6.1,计划搭建一个新的6.1的集群,用binlog同步切换的方式来升级,这也是生产环境官方推荐的方式。

1 个赞

这样的话,没有更多的机器搭建新集群

只能是新建集群,。亲身经历告诉你不要想着去直接升级,不然问题很多。并且生产你要保障好升级失败回滚的策略。

用的云主机,升级之前做了快照,有问题可以还原

之前测试环境直接升级,雪崩

Region is unavailable,升级之后有报这个错,会是升级导致的吗

我目前想从v4.0.11 直接干道v6.5.1,不知如何是好

雪崩的点在哪?

集群玩坏了~最后重装

还好现在我们测试集群改用了k8s,后面部署运维就非常快乐,之前用ansible的时候简直不能忍

好吧,一直没明白雪崩的点,逻辑导出确实比较稳定,问题我这小40T数据导出也不太现实

40T 属实有点多

采用blog或ticdc同步吧。

小版本呢? 建议可以直接升级吗

小版本应该是可以的,6.0版本前正常应该也可以升级,但是升级还的严格测试。虚拟的的话做好回滚的准备。

我测试从6.4.0 到6.6.0 upgrade , 测试环境。 耗时10分钟的样子