要升级到MySQL 8.0.x,选用哪个小版本?

文摘   2024-09-06 15:55   上海  

这个是一个学员问的问题,说说我的理解。

  1. 每个版本都有bug,规模够大的软件,这也正常。因此一个小版本是不是生产可用的,不能冲着0 bug为标准;

  2. 从bug的破坏程度,第一梯队是安全性/可靠性;然后是可用性/性能;

  3. 触发概率也是考核因素之一。比如有一个bug:在关闭performance_schema的时候,如果刚好在作ALTER TABLESPACE ... ENCRYPTION操作,会导致进程crash。但是这两个操作在生产上都很低频,我估计大家都没有几个库有机会执行这个alter语句。

  4. 有些bug潜伏期特别长,只能给出”有硬伤“的版本提供避坑参考,其他版本只是”暂未发现天坑“。


按照上面说的几点,去扫了一下8.0各个版本realse notes,结合之前群里讨论的结论,不建议用的小版本有 8.0.11~14 、 8.0.17~36、8.0.38。
现在8.0.40还没有release,于是,
”暂未发现天坑“只有四个版本 8.0.15、8.0.16、8.0.37、8.0.39。

不建议使用
的版本

原因
入选原因
8.0.11~14并发行锁过多时会触发一个int类型越界

可靠性问题
触发概率高

8.0.17~36见之前这篇文章

生产常用
触发概率高

8.0.38表超过8000个会crash
官方已经停用


PS:8.0.39的release note,除了说明38版本的严重问题外,还有一个MGR的bug。这个bug对于使用MGR的场景也属于硬伤。
考虑到国内用MGR的不多,没有列进去。

希望8.0的硬伤版本不要再增加了,DBA们申请升级窗口也不容易的。

==E==

带打人属性的往期文章推荐:MySQL直播面试题三

==OF==

Bytebase
现代化的开源SQL审核,数据库DevOps和CI/CD团队协同工具,专为开发者和 DBA 打造。同时被CNCF Landscape和Platform Engineering组织收录。
 最新文章