MySQL 8.4 Reference Manual  /  Upgrading MySQL  /  Upgrade Best Practices

3.3 升级最佳实践

MySQL 支持在 LTS 系列中升级到较小版本(minor version),或者跨越 LTS 系列升级到下一个主要版本(major version)。升级可以获取最新的功能、性能和安全修复。

为了确保升级到最新的 MySQL 版本的成功,我们推荐以下最佳实践:

MySQL 发布模型将 LTS(长期支持)和创新发布分开。LTS 版本有 8+ 年的支持,适用于生产环境。创新发布为用户提供最新的功能和功能。了解更多关于 MySQL 发布模型

进行次要版本升级是直接的,而主要版本升级需要策略性规划和额外测试之前的升级。这份指南特别适用于主要版本升级。

有三种主要的升级 MySQL 的方法,阅读相关文档以确定哪种类型的升级最适合您的情况。

Review 支持的平台

如果您的当前操作系统不受新版本 MySQL 的支持,那么计划升级操作系统,因为否则不支持在位升级。

要查看当前支持的平台,请访问:https://www.mysql.com/support/supportedplatforms/database.html

每个主要版本都带来了新的功能、行为变化、弃用和删除。了解每个这些变化对现有应用程序的影响是非常重要的。

请查看:第 3.5 节,“MySQL 8.4 中的变化”

MySQL Shell 的升级检查工具检测数据库版本之间的不兼容性,需要在升级前解决这些问题。 util.checkForServerUpgrade() 函数验证 MySQL 服务器实例是否准备好升级。连接到现有 MySQL 服务器,选择您计划升级到的 MySQL 服务器版本,以便工具报告需要解决的问题,包括数据类型、存储引擎等方面的不兼容性。

当升级检查工具不再报告任何问题时,您就准备好升级了。

完成升级检查后,请在新目标 MySQL 服务器上测试您的应用程序。检查 MySQL 错误日志和应用程序日志中的错误和警告。

我们建议您对自己的应用程序和工作负载进行基准测试,比较使用前和新版本 MySQL 的性能。通常,新的 MySQL 版本添加了功能并提高了性能,但是在某些查询中可能会出现性能下降的可能性。可能出现的性能下降原因:

  • 之前的服务器配置不适合新版本

  • 数据类型的变化

  • 多字节字符集支持需要更多存储空间

  • 存储引擎的变化

  • 删除或更改了索引

  • 加密强化

  • 身份验证强化

  • SQL 优化器的变化

  • 新版本 MySQL 需要更多内存

  • 物理或虚拟硬件的速度

For related information and potential mitigation techniques, see Valid Performance Regressions.

为了减少风险,最好同时运行当前系统和升级后的系统。

在升级生产服务器前,实践并进行一次试运行。对升级过程进行充分的测试,然后才能升级生产系统。

在进行升级前,确保完整备份存在并且是可用的。

您已经准备好完成升级。

如果您是 MySQL Enterprise Edition 客户,可以与 MySQL 支持团队专家联系,以解决您可能有的任何问题。