原地升级遇到过的问题和解决方案

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】问一下大家生产环境原地升级遇到过的问题和解决方案,学习下
【遇到的问题:问题现象及影响】

1 个赞

原地升级之前一定要做好新版本的兼容性测试,提前在测试环境验证业务,并在升级前与业务方沟通做好应急准备,同时做好整个集群的数据备份。有条件的建议做主备,有问题方便随时切换。

1 个赞

一般是提前准备在测试环境中先预升级,再测试业务,没有问题再考虑升生产

测试环境已适配过了,主要想看看大家有没有遇到原地升级中遇到的问题,提前打个预防针 :rofl:

有原地升级遇到的问题案例吗分享一下,学习学习 :facepunch:

tidb升级到7.5.0, tidb servers升级报错了怎么处理 看看我的

原地升级,需要注意tidb server 同时创建视图造成冲突的问题。在6.5很经典,社区有几个案例,留一个tidb server就可以了

看你这案例升级时候有加超时时间的参数吗,之前好像也遇到过这问题,在创建系统表时候出错了

是指在线升级时候只留一个tidb-server节点防止创建视图造成冲突问题,这样对在线业务会不会有影响

有准备兜底方案嘛?

这有的

大版本升级还是小版本升级?

1、搭建下游同步集群用于测试,测试业务兼容性以及性能表现
2、测试完成后,原集群如果想进行原地升级需要停止DDL避免产生未知问题

没有加参数

再发一个tidb 7.5.0升级到7.5.1 dashborad登录不用了

我年前升级过方案:
1.需要认真了解俩个版本的差异,
2.测试站克隆俩个完全一样的集群(检查参数是否修改等配置)。
3. 测试升级过程俩集群是否有问题。
4.升级完成后,应用测试在做全功能测试或者应用一段时间一般我这个是1个月。
5.测试完成后准备线上升级前准备。列出升级注意事项以及步骤。(在测试中总结,!很重要)。
6.做数据全面备份,升级方案两种,一种是新建集群迁移,第二种是直接迁移,推荐第一种,我线上是第一种配置ticdc做数据同步。原因是第一种可以随时切换回去。第二种直接升级有风险,可以做,因为你已经测试过了基本上问题不大,但是切记需要数据备份。
6,第一种方案后续升级完后观察一到俩月,后再销毁旧的集群。

做好备份。其它的还好

遇到过几个原地升级的问题:

  1. 多个 tidb server 同时创建视图造成冲突的问题。
  2. 还有一次是设置了这个 tidb_enable_amend_pessimistic_txn 导致了冲突问题。

是的,异机迁移肯定是最好的选择,客户也有资源不够的情况 :weary:

方案已定是先在测试就通过, 踩过坑以后, 而且是足够的坑, 再上生产。 还得做好回退方案。