MySQL 8.4 参考手册  /  升级 MySQL  /  升级最佳实践

3.3 升级最佳实践

MySQL 支持在次要版本之间(在 LTS 系列内)以及升级到下一个主要版本(跨 LTS 系列)。升级提供了最新的功能、性能和安全修复。

为了准备并帮助确保成功升级到最新的 MySQL 版本,我们建议以下最佳实践

决定要升级的主要版本或次要版本

MySQL 版本模型区分 LTS(长期支持)和创新版本。LTS 版本提供 8 年以上的支持,适用于生产环境。创新版本为用户提供最新的功能。详细了解 MySQL 版本模型

执行次要版本升级很简单,而主要版本升级则需要在升级之前进行战略规划和额外的测试。本指南对于主要版本升级特别有用。

决定升级类型

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

查看支持的平台

如果新版本的 MySQL 不支持您当前的操作系统,则计划升级操作系统,否则不支持就地升级。

有关支持平台的当前列表,请参阅:https://www.mysqlserver.cn/support/supportedplatforms/database.html

了解 MySQL 服务器更改

每个主要版本都包含新功能、行为更改、弃用和删除。了解其中每一个对现有应用程序的影响非常重要。

请参阅:第 3.5 节 “MySQL 8.4 中的变化”

运行升级检查器并修复不兼容性

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

当升级检查实用程序不再报告任何问题时,您就可以进行升级了。

在测试环境中运行应用程序

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

对应用程序和工作负载性能进行基准测试

我们建议通过比较使用以前版本和新版本的 MySQL 时的性能来对您自己的应用程序和工作负载进行基准测试。通常,较新版本的 MySQL 会添加功能并提高性能,但在某些情况下,对于特定查询,升级后的版本运行速度可能会变慢。导致性能下降的可能问题:

  • 以前的服务器配置对于较新版本不是最佳的

  • 数据类型的更改

  • 多字节字符集支持所需的额外存储空间

  • 存储引擎更改

  • 已删除或更改的索引

  • 更强的加密

  • 更强的身份验证

  • SQL 优化器更改

  • 较新版本的 MySQL 需要更多内存

  • 物理或虚拟硬件速度较慢 - 计算或存储

有关相关信息和潜在的缓解技术,请参阅 有效的性能下降

并行运行两个 MySQL 版本

为了最大程度地降低风险,最好在并行运行升级后的系统的同时保持当前系统运行。

运行最终测试升级

在升级生产服务器之前,请练习并进行一次演练。在升级生产系统之前,彻底测试升级过程。

检查 MySQL 备份

在执行升级之前,请检查完整备份是否存在且可行。

升级生产服务器

您已准备好完成升级。

企业支持

如果您是 MySQL 企业版客户,您也可以联系 MySQL 支持团队专家,咨询您可能遇到的任何问题。