前言: MySQL 8.0 第一个GA(General Availability)版本(正式、可用于生产的版本)于2018/4/19发布至今已有3年。8.0是一个全新的版本,增加了数百项功能新特性,重构了SQL解析器,在性能和安全性上越来越向商业数据库靠拢。5.7版本优越的稳定性和性能已经广泛应用,如今性能、安全性和众多企业级特性提升让我们思考是否该使用8.0版本。本文从以下几个方面来了解一下。
01
官方补丁维护生命周期管理
如上图所示,这是oracle官方对软件产品的生命周期管理,MySQL被收购后也适用于该管理方式。
正如表格中所示,5.6今年就将结束支持,5.7版本在2023年结束其扩展支持,官方将不再发布补丁维护,而8.0的支持将持续到2026年。
建议使用8.0,逐渐累积新版本经验为后续升级做准备。
02
MySQL8.0 GA 以来bug修复统计
例如,当时8.0.20发布时,修改了redo格式,导致常用的物理备份工具xtrabackup不支持,两个月后xtrabackup支持该redo格式,但是这种基础功能还是需要时间检验。
如果需要用到新特性来解决工作中的痛点:比如hash join、窗口函数以及在线迅速加字段的特性,还有在高并发下性能的提升也是选择8.0的重要原因。
《mysql8.0新特性解读》
田亮,公众号:基础技术研究MySQL 8.0 新特性解读
03
各大金融企业如何选择8.0版本
以上表格调研数据来源截止到2021/05/31
以前关于选择软件版本都有一个默认规矩,为了规避风险都会选择次新版本的方案,这也是有一定道理的。
毕竟次新版本出来几个月了,经过验证一般不会有重大问题。
但是这个经验在MySQL8.0 版本选择上也不是特别是适合,比如当前最新的版本是8.0.25,而选择次新的8.0.24刚好是有重大问题的。
有人会说使用最新版本新的功能可能会带来新的稳定性,但是我们常用的功能基本集中在Innodb、复制、分区表、优化器上,只要这些基础功能没有重大变化,那么这些基础功能早期发现的小问题在新的版本基本都会得到修复。
所以,不管是选择次新还是最新版本都可能遇到问题,关键还是关注每个版本的release notes所记录的修复问题,重大变化和新增功能,是否影响自己使用的功能。
https://www.cnvd.org.cn/flaw/show/CNVD-2021-30889
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html
04
总结
基于以上MySQL官方维护周期,8.0持续到2026年。
05
参考文献
[1] https://dev.mysql.com/doc/refman/8.0/en/




扫描二维码获取
更多精彩
基础技术研究


评论
