升级到 Aurora MySQL 版本 8.4
您可以使用主要版本就地升级,从 Aurora MySQL 版本 3 升级到版本 8.4。不支持从 Aurora MySQL 版本 2 直接升级到版本 8.4。如果您运行的是版本 2,则必须先升级到版本 3。
有关主要版本升级流程的一般信息,请参阅升级 Amazon Aurora MySQL 数据库集群的主要版本。
升级到版本 8.4 之前
在升级之前,请完成以下准备步骤:
Aurora 在升级开始之前自动运行升级预检查。这些预检查确定可能阻碍升级的兼容性问题。有关各个预检查的详细信息,请参阅将 Aurora MySQL 版本 3 升级到 8.4 版的预检查说明。
-
迁移身份验证插件。查看所有数据库用户,并将使用
mysql_native_password的所有用户迁移到caching_sha2_password。在 Aurora MySQL 版本 8.4 中,mysql_native_password插件仍受支持,但已弃用。authentication_policy默认为*:caching_sha2_password,因此默认情况下使用caching_sha2_password创建新用户。-- Find users using mysql_native_password SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password'; -- Migrate a user to caching_sha2_password ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'new_password'; -
更新复制 SQL 语句。如果您的应用程序或脚本使用已弃用的复制语句(例如
SHOW SLAVE STATUS或CHANGE MASTER TO),请更新这些语句来使用替换语句。在版本 8.4 中,这些旧语句会返回语法错误。完整列表请参阅 比较 Aurora MySQL 版本 3 和 Aurora MySQL 版本 8.4。 -
检查是否有已删除的参数。如果您的自定义参数组使用了在版本 8.4 中已删除的任意参数(例如
expire_logs_days或default_authentication_plugin),请使用替换参数创建新的 MySQL 8.4 兼容参数组。将所有必要的自定义参数值应用于新参数组。有关更多信息,请参阅 比较 Aurora MySQL 版本 3 和 Aurora MySQL 版本 8.4。 -
检查是否存在不兼容的 SQL 语法。查看应用程序代码中是否存在已删除的语法,例如
LOW_PRIORITY与LOCK TABLES ... WRITE,以及FLOAT或DOUBLE列上的AUTO_INCREMENT。 -
检查外键约束。如果您的架构使用的外键引用了非唯一键,请注意,在版本 8.4 中,默认情况下会阻止创建新的此类外键。现有的外键可以继续使用,但新外键需要设置
restrict_fk_on_non_standard_key=OFF。 -
检查是否存在新的保留关键字。确认在您的数据库对象中,没有使用 MySQL 8.4 中添加的任何新保留关键字作为未加引号的标识符。
-
测试升级。我们建议在升级生产集群本身之前,先在生产集群的克隆上测试升级。
-
检查安全注意事项。有关身份验证插件更改、TLS 和密码更改、密码策略和
validate_password组件、新的动态权限以及升级预检查(如deprecatedDefaultAuth和auroraValidatePasswordPluginCheck)的详细信息,请参阅从 Aurora MySQL 版本 3 升级到版本 8.4 时的安全注意事项。
如何升级到版本 8.4
要执行升级,请按照升级 Amazon Aurora MySQL 数据库集群的主要版本中介绍的主要版本就地升级过程操作。修改数据库集群时,请选择目标版本 8.4 引擎版本。
或者,您可以按照使用 Amazon Aurora 蓝绿部署进行数据库更新中的说明来升级,以最大限度地减少停机时间。蓝绿部署创建一个运行新版本的暂存环境,该环境与当前生产环境并行运行,这样您便可在切换之前进行测试和验证。
升级完成后,执行 Aurora MySQL 版本 8.4 的升级后清理中描述的升级后清理步骤。