

# Comparación entre la versión 3 y la versión 8.4 de Aurora MySQL
<a name="AuroraMySQL.Compare-v3-v84"></a>

La versión 8.4 de Amazon Aurora MySQL presenta mejoras y cambios importantes en comparación con la versión 3 de Aurora MySQL (compatible con MySQL 8.0). En esta guía se destacan las principales diferencias para que pueda comprender cuáles son las novedades y lo que ha cambiado.

**Topics**
+ [Autenticación y seguridad](#AuroraMySQL.Compare-v3-v84.auth)
+ [Administración de contraseñas](#AuroraMySQL.Compare-v3-v84.password)
+ [Cambios predeterminados en los parámetros](#AuroraMySQL.Compare-v3-v84.parameters)
+ [Privilegios y roles](#AuroraMySQL.Compare-v3-v84.privileges)

## Autenticación y seguridad
<a name="AuroraMySQL.Compare-v3-v84.auth"></a>

### Administración de complementos de autenticación
<a name="AuroraMySQL.Compare-v3-v84.auth-plugin"></a>

La **versión 3 de Aurora MySQL** usa el parámetro `default_authentication_plugin` para configurar el complemento de autenticación predeterminado para los nuevos usuarios de bases de datos.

La **versión 8.4 de Aurora MySQL** reemplaza el parámetro `default_authentication_plugin` por el parámetro `authentication_policy`, que proporciona una configuración de autenticación más flexible.

### TLS y cifrado
<a name="AuroraMySQL.Compare-v3-v84.tls"></a>

La **versión 8.4 de Aurora MySQL** aplica estándares de seguridad más estrictos:
+ El parámetro `require_secure_transport` se encuentra establecido en `ON` de forma predeterminada y requiere TLS para todas las conexiones.
+ Solo admite TLS 1.2 y TLS 1.3.
+ Aplica estándares criptográficos modernos con conjuntos de cifrado restringidos.

Para obtener más información, consulte [Seguridad con Amazon Aurora MySQL](AuroraMySQL.Security.md).

## Administración de contraseñas
<a name="AuroraMySQL.Compare-v3-v84.password"></a>

### Validación de contraseñas
<a name="AuroraMySQL.Compare-v3-v84.password-validation"></a>

La versión 3 de Aurora MySQL admite el componente y el complemento `validate_password` mediante una instalación manual, limitada a los parámetros predeterminados y sin posibilidad de personalización.

La versión 8.4 de Aurora MySQL admite la administración del componente `validate_password` mediante los parámetros del clúster de la base de datos:
+ Nuevo parámetro de clúster: `aurora_enable_validate_password_component`
+ No es necesario realizar una instalación manual: basta con habilitarlo o deshabilitarlo mediante un parámetro.
+ El componente no aparece en la tabla `mysql.component`.
+ El estado del componente se puede comprobar mediante las API de grupos de parámetros del clúster o mediante la variable global `aurora_enable_validate_password_component`.

La versión 8.4 de Aurora MySQL presenta los siguientes parámetros de clúster para la personalización de la validación de contraseñas:
+ `validate_password.check_user_name`
+ `validate_password.length`
+ `validate_password.mixed_case_count`
+ `validate_password.number_count`
+ `validate_password.policy` (solo admite los niveles BAJO y MEDIO)
+ `validate_password.special_char_count`

Para obtener más información, consulte [Políticas de contraseñas y validación de contraseñas en Aurora MySQL](AuroraMySQL.PasswordPolicies.md).

En la versión 8.4 de Aurora MySQL se eliminan los siguientes parámetros del complemento `validate_password` de instancia que no pueden modificarse:
+ `validate-password`
+ `validate_password_dictionary_file`
+ `validate_password_length`
+ `validate_password_mixed_case_count`
+ `validate_password_number_count`
+ `validate_password_policy`
+ `validate_password_special_char_count`

Para obtener más información, consulte [Parámetros de configuración de Aurora MySQL](AuroraMySQL.Reference.ParameterGroups.md).

### Políticas de contraseñas
<a name="AuroraMySQL.Compare-v3-v84.password-policies"></a>

La **versión 8.4 de Aurora MySQL** añade una amplia compatibilidad con las políticas de contraseñas mediante nuevos parámetros de clúster:
+ `default_password_lifetime`
+ `password_history`
+ `password_reuse_interval`
+ `password_require_current`
+ `disconnect_on_expired_password`

Estos parámetros funcionan junto con las políticas de contraseñas por cuenta para realizar un control detallado. Para obtener más información, consulte [Políticas de contraseñas y validación de contraseñas en Aurora MySQL](AuroraMySQL.PasswordPolicies.md).

## Cambios predeterminados en los parámetros
<a name="AuroraMySQL.Compare-v3-v84.parameters"></a>

### temptable\_max\_mmap
<a name="AuroraMySQL.Compare-v3-v84.temptable-max-mmap"></a>

La **versión 3 de Aurora MySQL** usa un valor predeterminado fijo de 1 GiB (`1073741824`) para el parámetro `temptable_max_mmap` en todas las clases de instancias y configuraciones de almacenamiento.

La **versión 8.4.7 y versiones posteriores de Aurora MySQL** calculan el valor predeterminado de forma dinámica en función del almacenamiento asignado al clúster. La fórmula es:

```
LEAST(4294967296, {AllocatedStorage*3/100})
```

Esto establece el valor predeterminado en el 3 % del almacenamiento asignado, con un límite máximo de 4 GiB. El valor predeterminado se escala en función de la capacidad de almacenamiento y, al mismo tiempo, permanece limitado, lo que ayuda a reducir los errores de consulta en las instancias de lector que utilizan el motor de almacenamiento TempTable.

Para obtener más información sobre la entrada de referencia de parámetros, consulte [Parámetros de configuración de Aurora MySQL](AuroraMySQL.Reference.ParameterGroups.md).

## Privilegios y roles
<a name="AuroraMySQL.Compare-v3-v84.privileges"></a>

### Nuevos privilegios dinámicos
<a name="AuroraMySQL.Compare-v3-v84.new-privileges"></a>

La **versión 8.4 de Aurora MySQL** admite nuevos privilegios, concedidos a `rds_superuser_role`:
+ `ALLOW_NONEXISTENT_DEFINER`
+ `FLUSH_PRIVILEGES`
+ `OPTIMIZE_LOCAL_TABLE`
+ `SET_ANY_DEFINER`

El privilegio `SET_USER_ID` se elimina, ya que se sustituye por `ALLOW_NONEXISTENT_DEFINER` y `SET_ANY_DEFINER`.

Para obtener más información, consulte [Privilegios de la cuenta de usuario maestro](UsingWithRDS.MasterAccounts.md).

### Comportamiento del usuario maestro
<a name="AuroraMySQL.Compare-v3-v84.master-user"></a>

**Versión 3 de Aurora MySQL:** el usuario maestro utiliza el complemento de autenticación `mysql_native_password` para la autenticación basada en contraseña de forma predeterminada.

**Versión 8.4 de Aurora MySQL:** el complemento de autenticación de usuario maestro está establecido en el valor predeterminado definido en el parámetro del clúster `authentication_policy` (de forma predeterminada, el complemento `caching_sha2_password`).

Al restablecer la contraseña del usuario maestro mediante la Consola de administración de AWS, la CLI o la API, o mediante la rotación de AWS Secrets Manager, Aurora utilizará automáticamente el complemento de autenticación definido por el valor del parámetro `authentication_policy` actual en el momento del restablecimiento.

### Aplicación de usuarios protegidos para `rdsproxyadmin`
<a name="AuroraMySQL.Compare-v3-v84.reserved-users"></a>

**Versión 3 de Aurora MySQL:** `rdsproxyadmin` es un nombre de usuario reservado para RDS Proxy. Sin embargo, el motor no impide crear, modificar ni eliminar un usuario de base de datos con dicho nombre.

**Versión 8.4 de Aurora MySQL (a partir de la versión 8.4.7):** `rdsproxyadmin` es un usuario protegido. El motor rechaza las operaciones `CREATE`, `DROP`, `RENAME`, `GRANT`, `REVOKE` y `SET PASSWORD` con respecto a `rdsproxyadmin` en cualquier host. Para ver la lista completa de operaciones rechazadas y ejemplos de errores, consulte [Usuarios reservados en Aurora MySQL](AuroraMySQL.Security.md#AuroraMySQL.Security.ReservedUsers).

Si ha creado un usuario de `rdsproxyadmin` en un clúster de la versión 3, consulte [Aplicación de usuarios protegidos para `rdsproxyadmin`](AuroraMySQL.Upgrade-v3-v84-security.md#AuroraMySQL.Upgrade-v3-v84-security.rdsproxyadmin) para obtener directrices previas a la actualización.