View a markdown version of this page

Aurora MySQL 版本 8.4 与 MySQL 8.4 兼容 - Amazon Aurora

Aurora MySQL 版本 8.4 与 MySQL 8.4 兼容

Aurora MySQL 版本 8.4 是 Amazon Aurora MySQL 兼容版的最新主要版本,与 MySQL 8.4 社区版兼容。您可以使用 Aurora MySQL 版本 8.4 来获得最新的 MySQL 兼容功能、性能增强功能和错误修复。

Aurora MySQL 版本 8.4 支持的 Aurora 功能与最新的 Aurora MySQL 版本 3 发行版相同,但有以下例外:

  • 快速插入在 Aurora MySQL 版本 8.4 中不可用。

Aurora MySQL 版本 8.4 使用简化的版本编号方案。版本号遵循 major-version.minor-version 格式,其中主要版本(例如 8.4)表示 MySQL 兼容性,次要版本表示功能和错误修复版本。例如,8.4.7 是 8.4 主要版本系列中的第一个次要版本。有关更多信息,请参阅 检查 Aurora MySQL 版本号

MySQL 8.4 社群版中的功能

Aurora MySQL 版本 8.4 与 MySQL 8.4 社区版兼容。MySQL 8.4 是一个长期支持(LTS)版本,它在 MySQL 8.0 的基础上构建,进行了以下重要更改:

  • mysql_native_password 身份验证插件默认启用,且该设置不可修改。authentication_policy 默认为 *:caching_sha2_password,因此默认情况下使用 caching_sha2_password 创建新用户。通过 mysql_native_password 进行身份验证的用户在升级后仍可继续使用,但建议迁移到 caching_sha2_password

  • 强制使用非包容性复制术语。较早的 SQL 语句(例如 SHOW SLAVE STATUSCHANGE MASTER TOSTART SLAVE)现在会返回语法错误。请改用 SHOW REPLICA STATUSCHANGE REPLICATION SOURCE TOSTART REPLICA 等替换语句。

  • 针对 EXCEPTINTERSECT 集合操作进行了哈希表优化,提高了这些查询的性能。

  • 在 Aurora MySQL 版本 8.4.7 及更高版本中,自动直方图更新已禁用。如果您在创建或更改直方图时指定 AUTO UPDATE,Aurora MySQL 会发出警告并将直方图视为 MANUAL UPDATE。通过运行 ANALYZE TABLE table_name UPDATE HISTOGRAM ON column_name 可继续刷新直方图统计信息。

  • 现在,有几个参数具有动态默认值,这些值可根据实例内存和 CPU 内核数进行缩放,包括 temptable_max_ram(现在为总内存的 3%)和 innodb_buffer_pool_instances

  • SET_USER_ID 权限被两个新权限取代:SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER。此外还引入了另外两个新权限:FLUSH_PRIVILEGESOPTIMIZE_LOCAL_TABLE

  • 现在,引用非唯一键的外键会被默认阻止,此行为由 restrict_fk_on_non_standard_key 参数控制。

要查看 MySQL 8.4 中更改的完整列表,请参阅《MySQL Reference Manual》中的 What Is New in MySQL 8.4

重要

在升级到 Aurora MySQL 版本 8.4 之前,请检查您的数据库用户并确保他们在使用 caching_sha2_password 身份验证插件。在 Aurora MySQL 版本 8.4 中,mysql_native_password 插件默认启用,客户无法修改此设置。当您从版本 3 升级时,使用的 mysql_native_password 现有账户可以继续使用。但是,authentication_policy 的默认值为 *:caching_sha2_password,因此我们建议在升级之前将用户迁移到 caching_sha2_password。有关 authentication_policy 参数的更多信息,请参阅身份验证策略(8.4 中新增)身份验证插件管理

MySQL 8.4 中删除的功能

以下 MySQL 8.0 中弃用的功能已在 MySQL 8.4 中删除:

  • 在 Aurora MySQL 版本 8.4 中,mysql_native_password 身份验证插件默认启用,此设置无法修改。authentication_policy 默认为 *:caching_sha2_password,因此默认情况下使用 caching_sha2_password 创建新用户。请注意,在 MySQL 8.4 社区版中,mysql_native_password 默认禁用;Aurora MySQL 8.4 的不同之处在于,该插件保持启用以便维护与现有用户的兼容性。

  • 非包容性复制 SQL 语句已删除。CHANGE MASTER TOSHOW SLAVE STATUSSTART SLAVESTOP SLAVESHOW SLAVE HOSTSRESET SLAVERESET MASTERSHOW MASTER STATUSPURGE MASTER LOGS 等语句现在会返回语法错误。请改用替换语句。

  • INFORMATION_SCHEMA.TABLESPACES 表已删除。

  • LOW_PRIORITY 修饰符与 LOCK TABLES ... WRITE 一起使用会导致语法错误。

  • 不再支持 FLOATDOUBLE 列上的 AUTO_INCREMENT 修饰符。

  • SET_USER_ID 权限已删除。改用 SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER

  • expire_logs_days 参数已删除。请改用 binlog_expire_logs_seconds

  • 对于加密连接,不再允许使用无法提供完美前向保密或不使用 SHA2 的弱 TLS 密码。

有关所删除功能的完整列表,请参阅《MySQL Reference Manual》中的 Features Removed in MySQL 8.4

Aurora MySQL 版本 8.4 中的安全增强功能

Aurora MySQL 版本 8.4 引入了多项安全增强功能和更改,包括:

要查看 MySQL 8.4 社区版中更改的完整列表,请参阅《MySQL Reference Manual》中的 MySQL 8.4 Release Notes

Aurora MySQL 版本 8.4 的发布说明

有关所有 Aurora MySQL 版本 8.4 发布的发布说明,请参阅《Aurora MySQL 发布说明》中的 Amazon Aurora MySQL 版本 8.4 的数据库引擎更新