Comparing Aurora MySQL version 3 and Aurora MySQL version 8.4
Amazon Aurora MySQL version 8.4 introduces significant enhancements and changes compared to Aurora MySQL version 3 (compatible with MySQL 8.0). This guide highlights the key differences to help you understand what is new and what has changed.
Authentication and Security
Authentication plugin management
Aurora MySQL version 3 uses the
default_authentication_plugin parameter to configure the default authentication
plugin for new database users.
Aurora MySQL version 8.4 replaces the
default_authentication_plugin with the authentication_policy parameter,
which provides more flexible authentication configuration.
TLS and encryption
Aurora MySQL version 8.4 enforces stricter security standards:
-
The
require_secure_transportparameter is set toONby default, requiring TLS for all connections. -
Supports only TLS 1.2 and TLS 1.3.
-
Enforces modern cryptographic standards with restricted cipher suites.
For more information, see Security with Amazon Aurora MySQL.
Password Management
Password validation
Aurora MySQL version 3 supports the validate_password plugin and component through
manual installation, limited to default parameters with no customization available.
Aurora MySQL version 8.4 supports managing the validate_password component through
DB cluster parameters:
-
New cluster parameter:
aurora_enable_validate_password_component -
No manual installation needed – simply enable or disable via parameter.
-
Component not listed in
mysql.componenttable. -
Component status can be checked via cluster parameter group APIs or global variable
aurora_enable_validate_password_component.
Aurora MySQL version 8.4 introduces the following cluster-level parameters for password validation customization:
validate_password.check_user_namevalidate_password.lengthvalidate_password.mixed_case_countvalidate_password.number_countvalidate_password.policy(supports LOW and MEDIUM levels only)validate_password.special_char_count
For more information, see Password policies and Password validation in Aurora MySQL.
The following non-modifiable instance-level validate_password plugin parameters are removed in
Aurora MySQL version 8.4:
validate-passwordvalidate_password_dictionary_filevalidate_password_lengthvalidate_password_mixed_case_countvalidate_password_number_countvalidate_password_policyvalidate_password_special_char_count
For more information, see Aurora MySQL configuration parameters.
Password policies
Aurora MySQL version 8.4 adds comprehensive password policy support through new cluster parameters:
default_password_lifetimepassword_historypassword_reuse_intervalpassword_require_currentdisconnect_on_expired_password
These parameters work alongside per-account password policies for granular control. For more information, see Password policies and Password validation in Aurora MySQL.
Parameter default changes
temptable_max_mmap
Aurora MySQL version 3 uses a fixed default of 1 GiB
(1073741824) for the temptable_max_mmap parameter across all instance classes
and storage configurations.
Aurora MySQL version 8.4.7 and higher calculates the default dynamically based on the cluster's allocated storage. The formula is:
LEAST(4294967296, {AllocatedStorage*3/100})
This sets the default to 3% of allocated storage, capped at a maximum of 4 GiB. The default scales with storage capacity while remaining bounded, which helps reduce query failures on reader instances that use the TempTable storage engine.
For the parameter reference entry, see Aurora MySQL configuration parameters.
Privileges and Roles
New dynamic privileges
Aurora MySQL version 8.4 supports new privileges, granted to
rds_superuser_role:
ALLOW_NONEXISTENT_DEFINERFLUSH_PRIVILEGESOPTIMIZE_LOCAL_TABLESET_ANY_DEFINER
The SET_USER_ID privilege is removed as it is replaced by
ALLOW_NONEXISTENT_DEFINER and SET_ANY_DEFINER.
For more information, see Master user account privileges.
Master user behavior
Aurora MySQL version 3: Master user uses
mysql_native_password auth plugin for password-based authentication by default.
Aurora MySQL version 8.4: Master user authentication plugin is set
to the default value defined in the authentication_policy cluster parameter (By default, caching_sha2_password plugin).
When resetting the master user password via the AWS Management Console, CLI, or API, or through AWS Secrets Manager
rotation, Aurora automatically uses the authentication plugin defined by the current
authentication_policy parameter value at the time of the reset.
Protected user enforcement for rdsproxyadmin
Aurora MySQL version 3:
rdsproxyadmin is a reserved user name for RDS Proxy. However,
the engine does not prevent you from creating, modifying, or dropping a
database user with that name.
Aurora MySQL version 8.4 (starting in 8.4.7):
rdsproxyadmin is a protected user.
The engine rejects CREATE, DROP, RENAME,
GRANT, REVOKE, and SET PASSWORD operations
against rdsproxyadmin at any host. For the full list of rejected
operations and example errors, see
Reserved users in Aurora MySQL.
If you created an rdsproxyadmin user in a version 3 cluster,
see
Protected user enforcement for rdsproxyadmin
for pre-upgrade guidance.