这个是一个学员问的问题,说说我的理解。
每个版本都有bug,规模够大的软件,这也正常。因此一个小版本是不是生产可用的,不能冲着0 bug为标准;
从bug的破坏程度,第一梯队是安全性/可靠性;然后是可用性/性能;
触发概率也是考核因素之一。比如有一个bug:在关闭performance_schema的时候,如果刚好在作ALTER TABLESPACE ... ENCRYPTION操作,会导致进程crash。但是这两个操作在生产上都很低频,我估计大家都没有几个库有机会执行这个alter语句。
有些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==
==OF==