当前位置:首页 > 工业用地 >mysql8.0版本怎么用(mysql8.0ce)

mysql8.0版本怎么用(mysql8.0ce)

前言:

自2018年4月19日MySQL 8.0第一个GA(General Availability)版本(正式、生产就绪版本)发布以来,已经过去3年了。8.0是一个全新的版本,增加了数百个新功能,重构了SQL解析器,并且在性能和安全性方面越来越接近商业数据库。 5.7版本优越的稳定性和性能已得到广泛应用。现在性能、安全性和很多企业级功能的改进让我们思考是否应该使用8.0版本。本文将从以下几个方面进行探讨。

mysql8.0版本怎么用(mysql8.0ce)

01

官方补丁维护生命周期管理

如上图所示,这是Oracle官方对软件产品的生命周期管理。这种管理方式也适用于MySQL被收购后的情况。

如表所示,5.6将于今年结束支持,5.7版本将于2023年结束扩展支持,官方不再发布补丁进行维护,而对8.0的支持将持续到2026年。

建议使用8.0,逐步积累新版本的经验,为后续升级做准备。

02

自MySQL8.0 GA 以来的错误修复统计

该表显示了自8.0 版本作为可用于生产的正式版本发布以来所有错误修复的统计信息。

从表中可以看出,Bug 修复总数正在逐渐收敛。

我们最关心的Innodb和复制相关的Bug修复正在逐渐稳定下来。

但梳理8.0的各个小版本可以发现,每个小版本都会引入很多新功能,这也可能会造成小版本之间差异过大,带来新的稳定性问题。

例如8.0.20发布时修改了redo格式,导致常用的物理备份工具xtrabackup不支持。两个月后,xtrabackup 支持了redo 格式,但这个基本功能还需要时间来测试。

整个8.0主要是对组复制的不断完善,同时还推出了Innodb Cluster和ReplicaSet高可用解决方案,所以如果需要使用MGR,请先选择8.0。

如果你需要使用新的功能来解决工作中的痛点:比如hash join、窗口函数以及在线快速添加字段的能力,以及高并发下的性能提升也是选择8.0的重要原因。

03

各大金融公司如何选择8.0版本?

上表调查数据来源截至2021年5月31日

目前已有多家金融机构尝试使用8.0。他们在版本选择上非常谨慎,一般在正式发布一年半后才开始使用。

大多数版本选择从8.0.18 开始。比如五大银行中有两家选择了8.0.18入坑,部分股份制银行选择了8.0.18、8.0.20和8.0.21。

选择策略大部分都是当时的最新版本,版本集中在8.0.18~8.0.21。

选择最新版本将修复以前版本中出现的主要错误。

例如,最近于5 月11 日发布了新版本,距离上一个版本还不到一个月。不符合小版本常规的三个月规则。检查发行说明紧急修复三个错误。

过去,选择软件版本有一个默认规则。为了规避风险,会选择下一个最新版本。这也是有道理的。

毕竟新版本已经出来几个月了,已经验证过一般不会出现什么大问题。

不过这个经验并不是特别适合MySQL 8.0版本选择。例如,最新版本是8.0.25,选择次新版本8.0.24存在较大问题。

有人会说,使用最新版本的新功能可能会带来新的稳定性,但我们常用的功能基本集中在Innodb、复制、分区表、优化器上。只要这些基础功能没有大的变化,那么这些基础功能发现的小问题基本上都会在新版本中得到修复。

因此,无论您选择下一代还是最新版本,都可能会遇到问题。关键是要关注各个版本的发行说明中记录的修复问题、重大变更和新功能,以及是否影响你使用的功能。

其实我们也可以以公有云厂商使用哪个版本的社区版来提供RDS服务作为参考。

例如,根据文档中的版本信息,阿里云RDS基于社区版本8.0.22,华为云文档显示内核基于8.0.20,腾讯云基于8.0.18内核进行优化。

根据市场份额前三名的分析,我们选择的版本至少必须大于等于8.0.22。

选择时请注意以下版本:

请关注8.0.19版本的安全漏洞。最好避开这个版本,以免被安全软件扫描。

细节:

https://www.cnvd.org.cn/flaw/show/CNVD-2021-30889

8.0.23版本修复了FTWRL在执行show table status时影响其他会话的问题,并且可能影响mysqldumper等备份工具。因此,如果需要使用该功能,最好大于等于8.0.23。

细节:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html

综合以上例子,理论上我们应该选择最新的版本,至少概率上更稳定。使用开源软件仍然需要更多的测试和陷阱来找到自己的使用边界。

04

摘要

根据上述MySQL官方维护周期,8.0将持续到2026年。

Innodb引擎的Bug修复和MySQL基本功能的复制正在逐步收敛,版本稳定性逐渐增强。

经过对多家金融机构和企业的研究,8.0正在逐渐被使用,其更多的企业级功能和安全性受到青睐。

综上所述,使用8.0是没有问题的。如果您使用社区版本,请使用最新版本,多关注各个版本的发行说明,多做测试。

最新资讯

推荐资讯