一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题
【TiDB 使用环境】生产环境
【TiDB 版本】新集群8.5.1版本,旧集群7.1.1版本
【部署方式】机器部署
【操作系统/CPU 架构/芯片详情】centos 7
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】
【问题复现路径】新服务器新部署集群,从旧集群迁移数据
【遇到的问题:问题现象及影响】准备新集群部署7.1.1版本,BR工具迁移数据,TICDC拉平数据后原地升级到8.5.1版本,不知道原地升级会不会出现不可控的问题,还存在哪些已知的问题
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】
wbslxw
(Ti D Ber Cl S0j Eng)
2
原地升级已知重点风险(生产务必提前验证)
TiFlash 不可逆升级
升级至 8.4 + 后 TiFlash 存储格式升级,无法降级回 7.x,如果业务强依赖 TiFlash,务必先在测试集群全量验证查询性能。
SQL 执行计划、优化器行为变化
7.1 与 8.5 优化器、统计信息收集逻辑差异较大,部分慢 SQL 执行计划可能突变,建议预抓取业务 SQL 做回放验证。
权限、系统表、内置函数行为变更
部分旧语法、hint、系统变量被废弃,需要梳理业务代码与监控脚本。
升级过程不要执行 DDL,集群存在 pending DDL 时禁止启动升级。
TiUP 版本要求:升级前执行 tiup update --self && tiup update cluster,保证 tiup 版本 ≥1.11.3。
kang
3
看到你的方案,建议直接部署8.5.1新集群,用BR+TiCDC迁移,不要走“7.1.1再原地升级”这条路。原因如下:
- CentOS 7兼容性:TiDB 8.5.1官方已不支持CentOS 7(要求glibc≥2.28),你7.1.1原地升级大概率会卡在环境检查,即使强升也会遇到未知问题。建议新集群用Rocky Linux 8/9或Ubuntu 22.04。
1 个赞
7.1.1 到 8.5.1 跨多个大版本,不建议在 CentOS 7 上原地升级。更稳是新机器用受支持的系统装 8.5.1,再用 BR 迁数据、TiCDC 追增量。若必须升级路径,按官方兼容顺序分段升,并先做升级检查。
独善其身
(Ti D Ber Bi Rqfz5 K)
5
7.1.1 原地直接升级到 8.5.1 属于跨2个大版本(7.x →8.x),不能一步跳级原地升级,TiDB 官方有强制升级路径,必须先升级到 7.5 LTS,再升级到 8.5; 如果你业务最终目标版本是 8.5.1,对比两套方案:
- 方案 A:新集群先部署 7.1.1 →BR 导入数据 →TiCDC 双向 / 单向同步切流 →原地逐级升级 7.1.1→7.5→8.5.1
- 方案 B:新集群直接部署 8.5.1,BR+CDC 从 7.1.1 旧集群迁移(优先推荐,规避大量原地升级风险)
7.1.1 到 8.5.1 跨多个大版本,不建议在 CentOS 7 上原地升级。更稳是新机器用受支持的系统装 8.5.1,再用 BR 迁数据、TiCDC 追增量。若必须升级路径,按官方兼容顺序分段升,并先做升级检查。
没问题的,按照官方的推荐,v6.1 以上版本可以直接升级到v8.5.x的最新版本
v8.5.1 及以上的版本是支持CentOS 7 的 不要误导大家!
system
(system)
关闭
14
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。