tidb 生产版本5.2.2想在线升级到7.1.0 是直接升级到7.1.0 还是按照小版本最低最高的路线(5.2.2 -> 5.2.4 -> 5.3.0 -> 5.3.4 -> 5.4.0 -> 5.4.3 -> 6.1.0 -> 6.1.7 -> 6.5.0 -> 6.5.10 -> 7.1.0)升级呢?大佬们有什么建议和升级过程需要注意哪些事情呢?

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
因为生产集群数据量挺大,而且都是核心业务再用,目前没有额外多余资源做一套镜像集群来升级,想通过在线直接升级的到 7.1.0版本。 求教各位需要注意的事项等

当前tidb集群信息如下

Cluster type: tidb
Cluster name: social-tidb
Cluster version: v5.2.2
Deploy user: tidb
SSH type: builtin
Dashboard URL: http://192.168.3.59:2379/dashboard
Grafana URL: http://192.168.3.15:3000
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir


192.168.3.21:9093 alertmanager 192.168.3.21 9093/9094 linux/x86_64 Up /data/tidb/data.alertmanager /data/tidb
192.168.3.131:8300 cdc 192.168.3.131 8300 linux/x86_64 Up /data/tidb-data/cdc-8300 /opt/app/tidb-deploy/cdc-8300
192.168.3.132:8300 cdc 192.168.3.132 8300 linux/x86_64 Up /home/tidb/deploy/cdc-8300/data /home/tidb/deploy/cdc-8300
192.168.3.128:8249 drainer 192.168.3.128 8249 linux/x86_64 Up /data/tidb-data/drainer-8249 /opt/app/tidb-deploy/drainer-8249
192.168.3.15:3000 grafana 192.168.3.15 3000 linux/x86_64 Up - /opt/app/tidb-deploy/grafana-3000
192.168.3.57:2379 pd 192.168.3.57 2379/2380 linux/x86_64 Up /data/tidb/data.pd /data/tidb
192.168.3.58:2379 pd 192.168.3.58 2379/2380 linux/x86_64 Up|L /data/tidb/data.pd /data/tidb
192.168.3.59:2379 pd 192.168.3.59 2379/2380 linux/x86_64 Up|UI /data/tidb/data.pd /data/tidb
192.168.3.25:9090 prometheus 192.168.3.25 9090 linux/x86_64 Up /data/tidb/prometheus2.0.0.data.metrics /data/tidb
192.168.3.134:8250 pump 192.168.3.134 8250 linux/x86_64 Up /data/tidb-data/pump-8250 /opt/app/tidb-deploy/pump-8250
192.168.3.135:8250 pump 192.168.3.135 8250 linux/x86_64 Up /data/tidb-data/pump-8250 /opt/app/tidb-deploy/pump-8250
192.168.1.32:4000 tidb 192.168.1.32 4000/10080 linux/x86_64 Up - /data/tidb
192.168.2.176:4000 tidb 192.168.2.176 4000/10080 linux/x86_64 Up - /data/tidb
192.168.1.105:20160 tikv 192.168.1.105 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.178:20160 tikv 192.168.1.178 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.179:20160 tikv 192.168.1.179 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.74:20160 tikv 192.168.1.74 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.93:20160 tikv 192.168.1.93 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.94:20160 tikv 192.168.1.94 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.98:20160 tikv 192.168.1.98 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160
192.168.1.99:20160 tikv 192.168.1.99 20160/20180 linux/x86_64 Up /data1/tidb-data /opt/app/tidb-deploy/tikv-20160

建议不要跨大版本升级,可以5.2.2升级到6.1.0,6.1.0升级到6.5.0,6.5.0升级到7.1.5稳妥一点。
https://docs.pingcap.com/zh/tidb/v7.1/upgrade-tidb-using-tiup

4 个赞

这个活动延期了,可以参加一下,多一些保障 :muscle:

1 个赞

5.2真不太敢,我前两天把我一个5.4.3的库升级到了6.5.10,原来想升级到7.5.2的,但是后来也没敢

1 个赞

plus,

tidb升级比较稳,但也需要在上生产前做业务功能验证

想办法弄两套吧,会安全点,要不能备份数据,也可以试试,比较费时间

1 个赞

直接升到7,有问题按照报错的内容依次解决,不然小版本一个一个升,那得到啥时候

这一步可能比 一个一个升耗费的时间更长。具体案例具体分析吧,还是要先演练一遍,看看哪一种方式更合适自己。

版本跨度较大,考虑到线上服务的稳定性和数据安全,不建议直接原地升级。

建议搭建主从集群的方式进行切换升级,可以考虑使用binlog 或者ticdc搭建主从。

:joy:楼主跟我这边情况一样,资源紧张

安全第一,这点临时资源我不信抠不出来

:joy:不当家不知道当家的难,巧妇难为无米之炊

学习了,谢谢老师分享

测试环境都没吗?

:joy:这个有的情况真没有。真的是只能做备份,然后升级,出现问题重新部署还原。

我直接522升级到712的

之前5.4升到6.5

那这种情况该如何处理,巧妇难为无米之炊,要是升级出问题了可能要背个大锅。不给资源不升?

一次跨一个大版本吧,比如先升到6.5,再到7.51

:yum:我们是先做备份,然后升级。如果升级有问题就摧毁集群重新搭建新集群,然后还原备份。
不过一般不会升级,除非遇到瓶颈。