Upgrading to Aurora MySQL version 8.4
You can upgrade from Aurora MySQL version 3 to version 8.4 using an in-place major version upgrade. Direct upgrades from Aurora MySQL version 2 to version 8.4 are not supported. If you are running version 2, you must first upgrade to version 3.
For general information about the major version upgrade process, see Upgrading the major version of an Amazon Aurora MySQL DB cluster.
Before upgrading to version 8.4
Before you upgrade, complete the following preparation steps:
Aurora runs upgrade prechecks automatically before the upgrade begins. These prechecks identify compatibility issues that can block the upgrade. For details about each precheck, see Precheck descriptions for upgrading Aurora MySQL version 3 to version 8.4.
-
Migrate authentication plugins. Review all database users and migrate any users using
mysql_native_passwordtocaching_sha2_password. In Aurora MySQL version 8.4, themysql_native_passwordplugin is still supported but deprecated. The defaultauthentication_policyis*:caching_sha2_password, so new users are created withcaching_sha2_passwordby default.-- 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'; -
Update replication SQL statements. If your applications or scripts use deprecated replication statements (such as
SHOW SLAVE STATUSorCHANGE MASTER TO), update them to use the replacement statements. These old statements return syntax errors in version 8.4. For the full list, see Comparing Aurora MySQL version 3 and Aurora MySQL version 8.4. -
Check for removed parameters. If your custom parameter groups use any parameters that were removed in version 8.4 (such as
expire_logs_daysordefault_authentication_plugin), create new MySQL 8.4–compatible parameter groups with the replacement parameters. Apply any necessary custom parameter values to the new parameter groups. For details, see Comparing Aurora MySQL version 3 and Aurora MySQL version 8.4. -
Check for incompatible SQL syntax. Review your application code for removed syntax such as
LOW_PRIORITYwithLOCK TABLES ... WRITE, andAUTO_INCREMENTonFLOATorDOUBLEcolumns. -
Check foreign key constraints. If your schema uses foreign keys that reference non-unique keys, note that creating new such foreign keys is blocked by default in version 8.4. Existing foreign keys continue to work, but new ones require setting
restrict_fk_on_non_standard_key=OFF. -
Check for new reserved keywords. Verify that your database objects don't use any of the new reserved keywords added in MySQL 8.4 as unquoted identifiers.
-
Test the upgrade. We recommend testing the upgrade on a clone of your production cluster before upgrading the production cluster itself.
-
Review security considerations. For details about authentication plugin changes, TLS and cipher changes, password policies and the
validate_passwordcomponent, new dynamic privileges, and upgrade prechecks such asdeprecatedDefaultAuthandauroraValidatePasswordPluginCheck, see Security considerations for upgrading from Aurora MySQL version 3 to version 8.4.
How to upgrade to version 8.4
To perform the upgrade, follow the in-place major version upgrade procedure described in Upgrading the major version of an Amazon Aurora MySQL DB cluster. Select the target version 8.4 engine version when modifying your DB cluster.
Alternatively, you can use a Using Amazon Aurora Blue/Green Deployments for database updates to upgrade with minimal downtime. A Blue/Green deployment creates a staging environment that runs the new version alongside your current production environment, allowing you to test and validate before switching over.
After the upgrade completes, perform the post-upgrade cleanup steps described in Post-upgrade cleanup for Aurora MySQL version 8.4.