MySql 中文参考指南

1.3 MySQL Releases: Innovation and LTS

MySQL 发布模型分为两条主线:LTS(长期支持)和创新。所有 LTS 和创新发布均包括 bug 修复和安全修复,并且被认为是生产级品质。

图 1.1 MySQL 发行计划

MySQL LTS Releases

  1. Audience: 如果您的环境需要一组稳定的功能和更长的支持周期。

  2. Behavior: 这些版本只包含必要的修复程序,以减少与数据库软件行为变化相关的风险。LTS 版本中没有移除内容。只能在第一个 LTS 版本(例如 8.4.0 LTS)中移除(并添加)功能,但不能在以后版本中进行。

  3. Support: LTS 系列遵循 Oracle Lifetime Support 政策,其中包括 5 年的主要支持和 3 年的延伸支持。

MySQL Innovation Releases

  1. Audience: 如果您想要使用最新功能、改进和更改。这些版本非常适合在大节奏的开发环境中工作的开发人员和 DBA,他们具有高度的自动化测试和现代的持续整合技术,以便实现更快的升级周期。

  2. Behavior: 除创新版本中的新功能外,也预期会有行为更改,因为代码已经重构、已删除弃用功能、以及当 MySQL 被修改为更符合 SQL 标准时进行行为更改。LTS 版本中不会出现这种情况。

行为更改可能会产生很大影响,尤其是在处理任何与应用程序相关的内容(例如 SQL 语法、新的保留字、查询执行和查询性能)时。行为更改可能会需要应用程序更改,这对迁移可能带来很大工作量。我们打算提供必要的工具和配置设置,以使这些过渡更轻松。

  1. Support: 创新版本受支持,直至下一个创新版本发布。

MySQL Portfolio

MySQL Server、MySQL Shell、MySQL Router、Kubernetes 的 MySQL Operator 和 MySQL NDB Cluster 都有创新版本和 LTS 版本。

MySQL Connectors 只有一个使用最新版本号的版本,但保持与所有受支持的 MySQL Server 版本兼容。例如,MySQL Connector/Python 9.0.0 与 MySQL Server 8.0、8.4 和 9.0 兼容。

Installing, Upgrading, and Downgrading

有两个轨道会影响 MySQL 的安装、升级和降级方式。通常,您选择一个特定的轨道,所有升级都将相应进行。

在使用官方 MySQL 存储库时,所需轨道在存储库配置中进行定义。例如,在 Yum 中选择 mysql-innovation-community 以安装和升级创新版本,或选择 mysql-8.4-lts-community 以安装和升级 MySQL 8.4.x 版本。

LTS Notes

功能仍然相同,数据格式在 LTS series 中不变,因此在 LTS 版本内可以进行就地升级和降级。例如,MySQL 8.4.0 可以升级到较新的 MySQL 8.4.x 版本。另有其他升级和降级方法,例如 the clone plugin

支持升级到下一个 LTS series,例如从 8.4.x LTS 升级到 9.7.x LTS,但不支持跳过 LTS 版本。例如,8.4.x LTS 不能跳过 9.7.x LTS 直接升级到 10.7.x LTS。

Innovation Notes

创新安装遵循类似的行为,在该行为中,创新版本升级到较新的 Innovation series 版本。例如,MySQL 9.0.0 创新版将升级到 MySQL 9.3.0。

主要区别在于,您不能直接在不同主要版本之间升级 Innovation series,例如从 8.3.0 到 9.0.0。相反,请先升级到最近的 LTS 版本,然后再升级到以下创新版本。例如,将 8.3.0 升级到 8.4.0,然后将 8.4.0 升级到 9.0.0,即有效的 upgrade path

为了帮助简化过渡,官方的 MySQL 存储库将第一个 LTS 版本视为 LTS 和创新版,因此,例如,在您的本地存储库配置中启用创新跟踪后,MySQL 8.3.0 升级到 8.4.0,然后升级到 9.0.0。

创新版本降级需要执行逻辑转储和加载。

Additional Information and Examples

有关其他信息和特定的示例支持方案,请参见 Section 3.2, “Upgrade Paths”Chapter 4, Downgrading MySQL 。它们描述了执行就地更新(以最新软件包替换二进制文件)、逻辑转储和加载(例如使用 mysqldumpMySQL Shell’s dump utilities )、使用 clone plugin 克隆数据,以及在复制拓扑结构中使用 asynchronous replication 的可用选项。