Actualizaciones del motor de base de datos de Aurora MySQL 18/11/2024 (versión 3.08.0 compatible con MySQL 8.0.39) - Amazon Aurora

Actualizaciones del motor de base de datos de Aurora MySQL 18/11/2024 (versión 3.08.0 compatible con MySQL 8.0.39)

Versión: 3.08.0

Aurora MySQL 3.08.0 ya está disponible con carácter general. Las versiones 3.08 de Aurora MySQL son compatibles con MySQL 8.0.39. Para obtener más información sobre los cambios que se han producido en la comunidad, consulte Notas de la versión de MySQL 8.0.

Para obtener información sobre las nuevas características de Aurora MySQL versión 3, consulte Aurora MySQL versión 3 compatible con MySQL 8.0. Para conocer las diferencias entre Aurora MySQL versión 3 y Aurora MySQL versión 2, consulte Comparación de Aurora MySQL versión 2 y Aurora MySQL versión 3. Para ver una comparación de Aurora MySQL versión 3 y MySQL 8.0 Community Edition, consulte Comparación de Aurora MySQL versión 3 y MySQL 8.0 Community Edition en la Guía de usuario de Amazon Aurora.

Las versiones de Aurora MySQL compatibles actualmente son: 2.11.*, 2.12.*, 3.04.*, 3.05.*, 3.06.*, 3.07.* y 3.08.*.

Puede realizar una actualización local, restaurar una instantánea o iniciar una actualización azul/verde administrada mediante las implementaciones azules/verdes de Amazon RDS de cualquier clúster de Aurora MySQL versión 2 compatible a un clúster de Aurora MySQL versión 3.08.0.

Para obtener información sobre cómo planificar una actualización a Aurora MySQL versión 3, consulte Planificación de actualizaciones de la versión principal para un clúster de Aurora MySQL. Para obtener información general sobre las actualizaciones de Aurora MySQL, consulte Actualización de clústeres de base Amazon Aurora MySQL en la Guía del usuario de Amazon Aurora.

Para obtener información sobre la solución de problemas, consulte Solución de problemas de la actualización local de Aurora MySQL en la Guía del usuario de Amazon Aurora.

Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de AWS Support. Para obtener más información, consulte Mantenimiento de un clúster de base de datos de Amazon Aurora en la Guía del usuario de Amazon Aurora.

Nuevas características

  • Se agregaron tres nuevas métricas de Amazon CloudWatch para permitir a los usuarios supervisar el proceso de purga de InnoDB:

    • PurgeBoundary

    • PurgeFinishedPoint

    • TruncateFinishedPoint

    Para obtener más información, consulte las métricas de Amazon CloudWatch para Amazon Aurora en la Guía del usuario de Amazon Aurora.

  • Se agregó una nueva métrica de CloudWatch TransactionAgeMaximum para permitir a los usuarios identificar las transacciones de larga duración que podrían estar frenando el límite de purga. Para obtener más información, consulte las métricas de Amazon CloudWatch para Amazon Aurora en la Guía del usuario de Amazon Aurora.

  • Se han agregado tres métricas de CloudWatch para evitar el problema de memoria insuficiente (OOM):

    • AuroraMillisecondsSpentInOomRecovery

    • AuroraNumOomRecoverySuccessful

    • AuroraNumOomRecoveryTriggered

    Para obtener más información, consulte las métricas de Amazon CloudWatch para Amazon Aurora en la Guía del usuario de Amazon Aurora.

  • Se han modificado tres métricas de CloudWatch para evitar el problema de memoria insuficiente (OOM), pasando de totales acumulados a contadores incrementales:

    • AuroraMemoryNumDeclinedSqlTotal

    • AuroraMemoryNumKillConnTotal

    • AuroraMemoryNumKillQueryTotal

    Para obtener más información, consulte las métricas de Amazon CloudWatch para Amazon Aurora en la Guía del usuario de Amazon Aurora.

  • Se agregaron dos variables de estado globales para mostrar la cantidad de memoria utilizada por las tablas temporales internas: aurora_temptable_ram_allocation yaurora_temptable_max_ram_allocation. Estas variables de estado global aumentan la observabilidad y ayudan a diagnosticar problemas relacionados con el uso interno de la memoria de la tabla temporal.

    Para obtener más información, consulte Variables de estado globales de Aurora MySQL en la Guía del usuario de Amazon Aurora.

  • Se introdujo la nueva variable de sistema aurora_optimizer_trace_print_before_purge para imprimir las trazas del optimizador en el registro de errores antes de que el servidor las purgue de la memoria. Se puede activar una purga en función de los umbrales establecidos por las variables de sistema optimizer_trace_offset y optimizer_trace_limit.

  • Añade compatibilidad para las siguientes clases de instancia de base de datos:

    • db.r7i

    • db.r8g

    Para obtener más información, consulte Clases de instancia de base de datos de Aurora en la Guía del usuario de Amazon Aurora.

Mejoras

Se han corregido los problemas de seguridad y las CVE:

Esta versión incluye todas las correcciones de CVE de la comunidad hasta la versión MySQL 8.0.39. Se incluyen las siguientes correcciones de CVE:

Mejoras de disponibilidad:

  • Se ha corregido un defecto que podía provocar que el servidor se reiniciara inesperadamente tras ejecutar comandos del lenguaje de manipulación de datos (DML) en una tabla en la que ya se habían eliminado columnas al instante, por lo que el número de columnas descartadas y no descartadas era superior a 1017.

  • Se ha corregido un problema que podía provocar que los archivos de registro de la base de datos no se rotaran correctamente, lo que aumentaba el uso del espacio de almacenamiento local en una instancia de base de datos.

  • Se ha corregido un problema que podía provocar que la instancia de base de datos dejara de cerrar las conexiones en condiciones de poca memoria cuando aurora_oom_response estaba habilitada, lo que provocaba un reinicio por falta de memoria que, de otro modo, podría evitarse.

  • Se ha corregido un problema que podía provocar que una instancia de base de datos del lector se reiniciara al liberar memoria utilizada para la aplicación de registro.

  • Se ha corregido un problema al calcular las métricas internas de los índices de búsqueda de texto completo (FTS) que podía provocar el reinicio de la base de datos.

  • Se ha corregido un problema de la comunidad que, a veces, podía producir resultados de consulta incorrectos cuando se utilizaba una cláusula LIMIT en las subconsultas junto con la inserción de la condición de indexación.

  • Se ha corregido un error que provocaba que, debido a una infracción de acceso a la memoria, se liberara un objeto mutex que ya no pertenecía al hilo.

  • Se ha corregido un problema que podía provocar el reinicio de una réplica de registro binario (binlog) al procesar una gran cantidad de archivos de registro de retransmisión durante la recuperación del registro de retransmisión.

  • Se ha corregido un problema que podía provocar que una instancia de base de datos de lector de Aurora se reiniciara cuando el reenvío de escritura estaba habilitado.

  • Se ha corregido un problema por el que una consulta que contenía varias cláusulas UNION podía asignar una gran cantidad de memoria y provocar el reinicio de la instancia de base de datos.

  • Se ha corregido un problema que provocaba que una instancia de base de datos del escritor se reiniciara al ejecutar una consulta paralela en una instancia de base de datos de lector.

  • Se ha corregido un error que provocaba que la replicación binlog se bloqueaba en la réplica debido a un interbloqueo en el subproceso de E/S de la réplica cuando se ejecutaba el comando FLUSH RELAY LOGS.

  • Se ha corregido un problema que provocaba que una instancia de base de datos se reiniciara cuando se gestionaban conjuntos de GTID de gran tamaño en un clúster de base de dados con binlog mejorado habilitado.

  • Se ha corregido un problema que podía provocar el reinicio de una réplica de binlog cuando la caché de registro de retransmisión en memoria estaba habilitada. La caché de registro de retransmisión en memoria está habilitada en las réplicas binlog administradas por Aurora MySQL cuando se utiliza la replicación de registros binarios de un solo subproceso o la replicación de subprocesos múltiples con GTID auto-positioning activado.

  • Se ha corregido un problema que podía provocar que una instancia de réplica de binlog se reiniciara al aplicar instrucciones del lenguaje de control de datos (DCL) durante el inicio del motor de base de datos.

  • Se ha corregido un problema que, en casos excepcionales, podía provocar que una instancia de base de datos de lector se reiniciara debido a un bloqueo al ejecutar consultas SELECT en las tablas que se están actualizando mediante su instancia de base de datos de escritor.

  • Se ha corregido un problema que podía provocar que una instancia de lector de Aurora Global Database se reiniciara con una sesión de reenvío de escritura activa.

  • Se ha corregido un problema que podía provocar que las réplicas de lectura de Aurora se reiniciaran en caso de que se produjeran determinadas órdenes de confirmación de transacciones poco frecuentes en la instancia de base de datos del escritor.

  • Se ha corregido un problema que podía ocasionar el reinicio de la base de datos cuando los eventos programados se cancelaban durante la ejecución en instancias de bases de datos que tenían activado Binlog mejorado.

Mejoras generales:

  • Se ha corregido un problema que provocaba que la conexión de un cliente se bloqueara al aplicar parches sin tiempo de inactividad (ZDP) o al reiniciar sin tiempo de inactividad (ZDR).

  • Se ha corregido un problema que, en raras ocasiones, provocaba el reinicio de una instancia de base de datos debido a un problema de administración de la memoria que podía producirse al gestionar un error en una tabla abierta.

  • Se ha corregido un problema que podía provocar que las instrucciones SQL mostraran errores o advertencias inesperadas de violación de la clave principal en algunas filas al ejecutar instrucciones INSERT simultáneas en una tabla que tiene una columna de clave principal AUTO_INCREMENT y una columna de clave única, y cuando una instrucción INSERT contiene infracciones de clave únicas en distintas filas.

  • El instrumento Performance Schema memory/sql/sp_head::main_mem_root es ahora un instrumento controlado. En consecuencia, la memoria asignada para el análisis y la representación de los programas almacenados ahora contribuye a reducir los límites de memoria por conexión.

  • Se ha corregido un error que provocaba que una fila se volviera ilegible a través del índice espacial durante una actualización.

  • Se ha corregido un problema que impedía a los usuarios deshabilitar el reenvío de escritura local.

  • Se ha corregido un problema que provocaba que una consulta SELECT COUNT devolviera un resultado incorrecto al utilizar el reenvío de escritura.

  • Se ha corregido un problema que podía provocar resultados de consulta incorrectos cuando ZDP restauraba incorrectamente las variables de sesión configuradas como sugerencias en las consultas.

  • Se ha corregido un problema que provocaba el truncamiento automático de los espacios de tabla de deshacer cuando superaban el umbral innodb_max_undo_log_size en situaciones de actualización.

  • Se ha corregido un problema que provocaba que la latencia de las confirmaciones y el rendimiento de las confirmaciones no se midiera cuando innodb_flush_log_at_trx_commit estaba establecida en 0.

  • Se ha corregido un problema que podía provocar que se informara incorrectamente del retraso en la réplica de Aurora.

  • Se ha corregido un problema que provocaba un valor incorrecto para la variable threads_running al utilizar la base de datos global de Aurora.

  • Se solucionó un problema por el que una réplica binlog de Aurora MySQL con la optimización del índice secundario paralelo habilitada se reiniciaba al aplicar cambios de replicación en tablas con claves externas.

  • Se ha corregido un problema de reinicio provocado por un cambio prolongado de tamaño de la tabla de hash de bloqueo durante eventos de escalado vertical.

  • Se ha corregido un problema que podía provocar el reinicio de una instancia de base de datos tras deshabilitar el registro binario, cuando se habilitaba anteriormente el registro binario mejorado.

  • Se introdujeron optimizaciones para reducir el uso de memoria durante la recuperación del diccionario de datos lógico cuando hay un gran número de tablas.

  • Se ha corregido un problema que provocaba que un usuario experimentara un error ERROR 1377 (HY000): Fatal error during log purge al ejecutar el procedimiento almacenado mysql.rds_set_external_source en una réplica de binlog cuando la replicación de registros binarios ya estaba configurada.

  • Se ha corregido un defecto que impedía la persistencia de los privilegios de los roles de usuario después de la ZDR.

  • Se ha corregido un problema de memoria asociado a las funciones predeterminadas del definidor de vistas.

  • Se ha corregido un problema que podía provocar que una instancia de base de datos se reiniciara al ejecutarse SHOW VOLUME STATUS.

  • Se ha corregido un problema de reinicio provocado por un cambio prolongado de tamaño del conjunto de búferes durante eventos de escalado vertical.

  • Se ha corregido un problema de reinicio que provocaba que la lectura lógica anticipada (LRA) accediera a las páginas liberadas debido al cambio de tamaño del búfer durante un evento de escalado vertical.

  • Se ha corregido un problema que solucionaba las consultas SELECT que devolvían resultados incorrectos cuando la consulta utilizaba LEFT OUTER JOIN con una transformación de semiunión que empleaba la materialización como estrategia.

  • Se ha corregido un problema que podía provocar que no se pudiera completar el proceso de desactivación del reenvío de escritura.

  • Se ha corregido un problema que provocaba que las métricas ActiveTransactions y BlockedTransactions de CloudWatch informaran de valores inferiores a los esperados.

  • Se ha corregido un problema que provocaba que la replicación de binlog se interrumpiera cuando la réplica procesaba una instrucción DELETE de varias tablas que se eliminaba de forma explícita tanto de la tabla principal como de la secundaria.

  • Se ha corregido un problema que podía provocar el reinicio de una instancia de base de datos al procesar un activador con funciones definidas por el usuario que devolvían un tipo enum.

  • Se ha corregido un problema que provocaba que la métrica DMLLatency de CloudWatch mostrara valores incorrectos para una instancia de réplica de registro binario al replicar con binlog_format establecido como row.

  • Se ha corregido un problema por el que las consultas lentas INSERT, DELETE y UPDATE ejecutadas por el programador de eventos de MySQL no se registraban en el registro de consultas lentas a menos que estuvieran precedidas por una consulta lenta SELECT.

  • Se ha corregido un problema que, en raras ocasiones, provocaba la falta de disponibilidad intermitente de una réplica de lectura de Aurora o bien incoherencias en la definición de la tabla, a veces con el error Table does not exist, en la réplica. Esto se debe a las consultas de lectura simultáneas en la réplica y a las operaciones del lenguaje de definición de datos (DDL) en la instancia de base de datos del escritor.

  • Se ha corregido un problema que provocaba que el comando SHOW BINARY LOGS tardara más en ejecutarse en un clúster de base de datos en el que Binlog mejorado estaba activado o había estado activado anteriormente. Este problema también podía provocar un aumento de la latencia de confirmación si se ejecutaban varios comandos SHOW BINARY LOGS al mismo tiempo.

Actualizaciones y migraciones:

  • Se ha mejorado el rendimiento de la actualización de la versión principal de la versión 2 de Aurora MySQL a la versión 3 para clústeres de base de datos con un número elevado de objetos de base de datos (como tablas, activadores y rutinas).

    Para clases de instancias de base de datos mayores, el proceso de actualización de la base de datos actualiza los metadatos de los objetos MySQL tradicionales al nuevo diccionario de datos atómico de MySQL 8.0 en paralelo mediante varios subprocesos.

  • Se ha corregido un problema que provocaba que las actualizaciones o migraciones fallaran cuando la versión del motor de base de datos Aurora MySQL de destino era 3.04.0 o superior. Esto ocurre cuando el parámetro del clúster de base de datos lower_case_table_names está establecido en 1 y la intercalación de bases de datos MySQL no es compatible con nombres de tablas en minúsculas.

Integración de correcciones de errores de la edición de la comunidad de MySQL

Esta versión incluye todas las correcciones de errores de la comunidad hasta la versión 8.0.39 (incluida), además de las que se indican a continuación. Para obtener más información, consulte Errores de MySQL corregidos en las actualizaciones del motor de base de datos de Aurora MySQL 3.x.

  • Se ha corregido un problema que provocaba que los valores NULL se omitieran incorrectamente del conjunto de resultados en determinadas consultas que tenían ambas operaciones JOIN y UNION. (Corrección de error de la comunidad n.º 114301).