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-version8.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 STATUS、CHANGE MASTER TO和START SLAVE)现在会返回语法错误。请改用SHOW REPLICA STATUS、CHANGE REPLICATION SOURCE TO和START REPLICA等替换语句。 -
针对
EXCEPT和INTERSECT集合操作进行了哈希表优化,提高了这些查询的性能。 -
在 Aurora MySQL 版本 8.4.7 及更高版本中,自动直方图更新已禁用。如果您在创建或更改直方图时指定
AUTO UPDATE,Aurora MySQL 会发出警告并将直方图视为MANUAL UPDATE。通过运行ANALYZE TABLE可继续刷新直方图统计信息。table_nameUPDATE HISTOGRAM ONcolumn_name -
现在,有几个参数具有动态默认值,这些值可根据实例内存和 CPU 内核数进行缩放,包括
temptable_max_ram(现在为总内存的 3%)和innodb_buffer_pool_instances。 -
SET_USER_ID权限被两个新权限取代:SET_ANY_DEFINER和ALLOW_NONEXISTENT_DEFINER。此外还引入了另外两个新权限:FLUSH_PRIVILEGES和OPTIMIZE_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 TO、SHOW SLAVE STATUS、START SLAVE、STOP SLAVE、SHOW SLAVE HOSTS、RESET SLAVE、RESET MASTER、SHOW MASTER STATUS和PURGE MASTER LOGS等语句现在会返回语法错误。请改用替换语句。 -
INFORMATION_SCHEMA.TABLESPACES表已删除。 -
将
LOW_PRIORITY修饰符与LOCK TABLES ... WRITE一起使用会导致语法错误。 -
不再支持
FLOAT和DOUBLE列上的AUTO_INCREMENT修饰符。 -
SET_USER_ID权限已删除。改用SET_ANY_DEFINER和ALLOW_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 引入了多项安全增强功能和更改,包括:
-
使用
authentication_policy参数(替换了default_authentication_plugin参数)增强身份验证。有关更多信息,请参阅 比较 Aurora MySQL 版本 3 和 Aurora MySQL 版本 8.4。 -
Aurora MySQL 版本 8.4 强制执行更严格的加密标准,该标准与
ssl_ciphers(TLS 1.2)和tls_ciphersuites(TLS 1.3)数据库集群参数的最新安全要求保持一致。有关更多信息,请参阅 使用 Amazon Aurora MySQL 实现高安全性。 -
全面的密码策略支持并改进了密码验证。有关更多信息,请参阅 Aurora MySQL 中的密码策略和密码验证。
-
新的动态权限以及对主用户行为的更改。有关更多信息,请参阅 主用户账户权限。
要查看 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 的数据库引擎更新。