

# Actualización a Aurora MySQL versión 8.4
<a name="AuroraMySQL.mysql84-upgrade-procedure"></a>

Puede actualizar de la versión 3 a la versión 8.4 de Aurora MySQL mediante una actualización local de la versión principal. No se admiten las actualizaciones directas de la versión 2 a la versión 8.4 de Aurora MySQL. Si ejecuta la versión 2, primero debe actualizar a la versión 3.

Para obtener más información sobre el proceso de actualización de versión principal, consulte [Actualización de la versión principal de un clúster de base de datos de Amazon Aurora MySQL](AuroraMySQL.Updates.MajorVersionUpgrade.md).

## Antes de actualizar a la versión 8.4
<a name="AuroraMySQL.mysql84-upgrade-before"></a>

Antes de realizar la actualización, complete los siguientes pasos de preparación:

Aurora ejecuta automáticamente las comprobaciones previas a la actualización antes de que esta comience. Estas comprobaciones previas identifican los problemas de compatibilidad que pueden bloquear la actualización. Para obtener más información sobre cada comprobación previa, consulte [Descripciones de comprobaciones previas para la actualización de la versión 3 a la versión 8.4 de Aurora MySQL](AuroraMySQL.upgrade-prechecks-v3-to-v84.descriptions.md).

1. **Migrar los complementos de autenticación.** Revise todos los usuarios de la base de datos y migre los usuarios mediante `mysql_native_password` a `caching_sha2_password`. En la versión 8.4 de Aurora MySQL, el complemento `mysql_native_password` sigue siendo compatible, pero se ha quedado obsoleto. El valor predeterminado de `authentication_policy` es `*:caching_sha2_password`, por lo que los nuevos usuarios se crean con `caching_sha2_password` de forma predeterminada.

   ```
   -- 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}}';
   ```

1. **Actualizar las instrucciones de SQL de replicación.** Si las aplicaciones o scripts utilizan instrucciones de replicación obsoletas (como, por ejemplo, `SHOW SLAVE STATUS` o `CHANGE MASTER TO`), actualícelas para que utilicen las instrucciones de reemplazo. Estas instrucciones antiguas devuelven errores de sintaxis en la versión 8.4. Puede consultar la lista completa e [Comparación entre la versión 3 y la versión 8.4 de Aurora MySQL](AuroraMySQL.Compare-v3-v84.md).

1. **Comprobar si hay parámetros eliminados.** Si los grupos de parámetros personalizados utilizan parámetros que se eliminaron en la versión 8.4 (como, por ejemplo, `expire_logs_days` o `default_authentication_plugin`), cree nuevos grupos de parámetros compatibles con MySQL 8.4 con los parámetros de reemplazo. Aplique los valores de parámetros personalizados necesarios a los nuevos grupos de parámetros. Para obtener más información, consulte [Comparación entre la versión 3 y la versión 8.4 de Aurora MySQL](AuroraMySQL.Compare-v3-v84.md).

1. **Comprobar si la sintaxis de SQL no es compatible.** Revise el código de la aplicación para ver si se ha eliminado la sintaxis, como, por ejemplo, `LOW_PRIORITY` con `LOCK TABLES ... WRITE` y `AUTO_INCREMENT` en las columnas `FLOAT` o `DOUBLE`.

1. **Comprobar las restricciones de clave externa.** Si el esquema utiliza claves externas que hacen referencia a claves no únicas, tenga en cuenta que en la versión 8.4 no se pueden crear de forma predeterminada nuevas claves externas de este tipo. Las claves externas existentes siguen funcionando, pero en las nuevas es necesario configurar `restrict_fk_on_non_standard_key=OFF`.

1. **Comprobar si hay nuevas palabras clave reservadas.** Compruebe que los objetos de la base de datos no utilicen ninguna de las nuevas palabras clave reservadas añadidas a MySQL 8.4 como identificadores sin comillas.

1. **Probar la actualización.** Recomendamos probar la actualización en un clon del clúster de producción antes de actualizar el propio clúster.

1. **Revisar los aspectos que hay que tener en cuenta sobre la seguridad.** Para obtener más información sobre los cambios en los complementos de autenticación, los cambios en el cifrado y TLS, las políticas de contraseñas y el componente `validate_password`, los nuevos privilegios dinámicos y las comprobaciones previas a la actualización, como, por ejemplo, `deprecatedDefaultAuth` y `auroraValidatePasswordPluginCheck`, consulte [Consideraciones de seguridad para actualizar de la versión 3 a la versión 8.4 de Aurora MySQL](AuroraMySQL.Upgrade-v3-v84-security.md).

## Cómo actualizar a la versión 8.4.
<a name="AuroraMySQL.mysql84-upgrade-how"></a>

Para realizar la actualización, siga el procedimiento de actualización local de la versión principal que se describe en [Actualización de la versión principal de un clúster de base de datos de Amazon Aurora MySQL](AuroraMySQL.Updates.MajorVersionUpgrade.md). Seleccione la versión del motor de la versión 8.4 de destino al modificar el clúster de la base de datos.

También puede utilizar una [Uso de las implementaciones azul/verde de Amazon Aurora para actualizar las bases de datos](blue-green-deployments.md) para actualizar con un tiempo de inactividad mínimo. Una implementación azul/verde crea un entorno provisional que ejecuta la nueva versión junto con el entorno de producción actual, lo que le permite realizar pruebas y validarlas antes de cambiarla.

Una vez completada la actualización, lleve a cabo los pasos de limpieza posteriores a la actualización que se describen en [Limpieza posterior a la actualización para Aurora MySQL versión 8.4](AuroraMySQL.mysql84-post-upgrade.md).