Databases for MySQL 8.4 GA
作为我们提供丰富而成熟的云数据库产品组合承诺的一部分,Cloud Databases 发布了 MySQL 版本 8.4。
新的 Databases for MySQL 部署
对于新的 Cloud Databases 部署,请备份现有的 v8.0 实例并将其导入 v8.4 部署。 使用 mysqldump 或 mydumper 等工具将数据导入 Databases for MySQL v8.4 部署。 有关更多信息,请参阅 《 迁移至 Databases for MySQL 》。
现有的 Databases for MySQL v8.0 部署
要将现有部署在 IBM Cloud® Databases for MySQL 上的 v8.0 迁移至新版 v8.4,必须执行主要版本升级。 推荐的操作路径是:将 现有 v8.0 部署的备份恢复到运行 MySQL 的新部署中。v8.4 您可以通过用户界面、命令行界面或应用程序接口启动此升级流程。 有关执行此主要版本升级的详细分步说明,请参阅 《升级到新主要版本》。
升级完成后,更改将无法恢复。 这些更改不兼容,您无法在 MySQL 8.0 上使用 MySQL 8.4 的数据目录。 请保留您的 MySQL v8.0 备份,因为当需要撤销更改时,它有助于在 MySQL v8.0 实例上进行恢复。
升级先决条件
在尝试任何升级操作之前,请参阅 MySQL's 中的 《为升级做好安装准备》 一文,以确保系统已做好升级准备。
MySQL 8.4LTS 入门指南
MySQL 8.4是新的长期支持(LTS)版本。 作为长期支持版本,其功能在初始的 8.4.0 发布后即保持稳定且不再变更。 随着 MySQL 8.0达到生命周期终止,迁移至 MySQL 8.4对于持续获得支持、漏洞修复和安全更新至关重要。
Databases for MySQL 的主要功能变更 8.4
Databases for MySQL 为运行 MySQL 版本 8.4: 的数据库实例引入以下新功能:
- **认证:**MySQL 8.4 强制要求使用 caching_sha2_password 作为默认认证插件,并完全移除了 default_authentication_plugin 变量。 当前使用mysql_native_password的客户必须将账户迁移至 caching_sha2_password,以避免连接失败。 有关更多信息,请参阅 第 8.4.1.1 节,原生可插拔身份验证。
- **MySQL 8.4:复制术语更新:**MySQL 8.4 通过移除 SQL 语法中的非包容性术语(如 Master 和 Slave ),强制采用包容性语言。这意味着已弃用的复制 SQL 语句不再受支持,并将导致语法错误。 例如,使用
SHOW BINARY LOG STATUS代替SHOW MASTER STATUS,使用SHOW REPLICA STATUS代替SHOW SLAVE STATUS。 自动化和配置应更新为使用这些新名称。 完整声明变更列表请参阅:MySQL 8.4 版本新增内容(自 MySQL 8.0 以来 )。 - 参数行为变更:
- binlog_transaction_compression 默认启用,以减少网络传输时间和存储空间占用。
- replica_parallel_workers 默认值为 200,可显著提升并发性,从而加快副本上的事务重放速度。
- innodb_flush_log_at_trx_commit 默认值为 1,以确保主节点上数据的最大持久性。
- binlog_transaction_compression_level_zstd 的默认值为 3,以在压缩效率与 CPU 开销之间取得平衡。
- 已弃用或移除的参数:
AUTO_INCREMENTMySQL 8.4 不再支持AUTO_INCREMENTonFLOAT或DOUBLE列。 升级前,必须修改使用此组合的任何表,以防止升级失败。- 已移除复制语句和变量:大量 MASTER /SLAVE*命令及状态变量已被移除。 这意味着任何依赖这些状态变量的脚本或工具都将无法继续运行。 有关已移除语句和变量的完整列表,请参阅《 MySQL 8.4 中的新增功能(自 MySQL 8.0 以来 )》。
- 身份验证变量:default_authentication_plugin 变量现已移除。
- 显著变更:
- 新增保留关键字:MySQL 8.4保留了诸如
MANUAL,PARALLEL,QUALIFY,和 等TABLESAMPLE关键字。 如果您的模式将这些作为未加引号的标识符使用,升级后查询将失败。 升级前请审核并确认这些标识符。 - 空间索引升级要求:升级路径中已知的问题可能导致空间索引损坏。 为确保数据完整性,我们建议在升级前删除所有空间索引,并在迁移完成后立即重新创建它们。
- 自动直方图更新:MySQL 8.4 引入了自动直方图更新功能,通过消除手动更新的需求来增强查询优化效果。 要为特定直方图启用自动更新,只需使用 选项
ANALYZE TABLE UPDATE HISTOGRAM``AUTO UPDATE运行 即可。 - 特权增强:特权
SET_USER_ID已被 和SET_ANY_DEFINER取代ALLOW_NONEXISTENT_DEFINER。 - 全局事务标识符(GTIDs):引入了使用GTIDs标记事务组的功能,以增强追踪能力。
- 新增保留关键字:MySQL 8.4保留了诸如
有关 MySQL 8.4的所有功能和变更列表,请参阅 MySQL文档中的《 MySQL 8.4自 MySQL 8.0以来的新增功能》。
半同步到异步的过渡
从 Databases for MySQL v8.0 升级至 v8.4 时,默认复制架构将从半同步复制过渡为异步复制。 此项变更通过确保主节点不会因等待副本确认而停滞,从而提升写入性能和弹性,使您的数据库环境更加强健且持续保持高速运行。 这通过缩短故障转移时间并提升整体系统响应能力,从而增强了高可用性。 有关更多信息,请参阅 《 了解 Databases for MySQL 的高可用性和灾难恢复 》。