Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Upgrade the database version

Última actualización: Sep 03, 2026

ApsaraDB RDS for MySQL ofrece dos métodos para actualizar la versión principal de la base de datos. Puede actualizar la versión directamente desde la consola. También puede adquirir una nueva instancia de ApsaraDB RDS for MySQL con una versión posterior y utilizar una tarea de migración de datos de Data Transmission Service (DTS) para migrar los datos de la instancia original a la nueva. Este proceso permite actualizar la versión de la base de datos de manera indirecta.

Nota

ApsaraDB RDS for MySQL no admite la reducción directa de la versión de la base de datos desde la consola. Puede adquirir una instancia de RDS que ejecute una versión anterior y usar DTS para migrate data from the instance with the later version to the instance with the earlier version. Una vez que compruebe que la migración fue exitosa, puede release the instance with the later version.

Selección del método de actualización

Tanto Method 1: Directly upgrade the database version in the console como Method 2: Upgrade the database version using DTS admiten las siguientes rutas de actualización de MySQL: de 5.5 a 5.6, de 5.6 a 5.7, de 5.7 a 8.0 y de 8.0 a 8.4. Antes de actualizar la base de datos, seleccione el método adecuado según la siguiente información:

  • Si su instancia pertenece a una de las cuatro categorías siguientes y su configuración cumple con los requisitos correspondientes, utilice Method 1: Directly upgrade the database version in the console.

    Nota

    Las instancias serverless no admiten actualizaciones directas desde la consola. Debe utilizar Method 2: Upgrade the database version using DTS.

    Cluster Edition (ESSD and premium performance disk)

    • Restricción de replicación de grupo: No es posible actualizar instancias de Cluster Edition que utilizan MySQL Group Replication (MGR).

    • Restricción del proxy de base de datos (si aplica): Para actualizaciones de 5.7 a 8.0, la versión secundaria del proxy de base de datos debe ser 1.13.41 o posterior. Para actualizaciones de 8.0 a 8.4, la versión secundaria del proxy de base de datos debe ser 2.25.11 o posterior.

    • Restricción de estado de la instancia: El estado de la instancia debe ser Running, y los nodos primario y secundario deben estar en buen estado sin retraso de replicación.

    • Restricción de motor: La base de datos y todas sus tablas deben usar el motor de almacenamiento InnoDB.

    • La instancia no debe utilizar un phased-out instance type.

    High-availability Edition (ESSD and premium performance disk)

    • Restricción del proxy de base de datos (si aplica): Para actualizaciones de 5.7 a 8.0, la versión secundaria del proxy de base de datos debe ser 1.13.41 o posterior. Para actualizaciones de 8.0 a 8.4, la versión secundaria del proxy de base de datos debe ser 2.25.11 o posterior.

    • Restricción de estado de la instancia: El estado de la instancia debe ser Running, y los nodos primario y secundario deben estar en buen estado sin retraso de replicación.

    • Restricción de motor: La base de datos y todas sus tablas deben usar el motor de almacenamiento InnoDB.

    • La instancia no debe utilizar un phased-out instance type.

    High-availability Edition (premium performance local disk)

    • Restricción de cifrado: La función de cifrado transparente de datos (TDE) debe estar deshabilitada. Una vez habilitado TDE, no se puede deshabilitar. Si TDE está habilitado en su instancia, debe utilizar Method 2: Upgrade the database version using DTS.

    • Restricción del proxy de base de datos (si aplica): Para actualizaciones de 5.7 a 8.0, la versión secundaria del proxy de base de datos debe ser 1.13.41 o posterior. Para actualizaciones de 8.0 a 8.4, la versión secundaria del proxy de base de datos debe ser 2.25.11 o posterior.

    • Restricción de estado de la instancia: El estado de la instancia debe ser Running, y los nodos primario y secundario deben estar en buen estado sin retraso de replicación.

    • Restricción de cantidad de tablas: El número de tablas no puede exceder 1 millón.

    • Restricción de motor: La base de datos y todas sus tablas deben usar el motor de almacenamiento InnoDB.

    • Restricción de tipo de instancia: La versión de la base de datos tras la actualización debe ser compatible con los tipos de instancia originales de las instancias primaria y de solo lectura. Las instancias no deben utilizar un tipo obsoleto. Para más información, consulte Primary ApsaraDB RDS for MySQL instance types.

    Basic Edition (ESSD and premium performance disk)

    • Restricción de estado de la instancia: El estado de la instancia debe ser Running.

    • Restricción de motor: La base de datos y todas sus tablas deben usar el motor de almacenamiento InnoDB.

    • La instancia no debe utilizar un phased-out instance type.

  • Si su instancia no pertenece a ninguna de las cuatro categorías anteriores o si TDE está habilitado, utilice Method 2: Upgrade the database version using DTS.

  • Si su instancia pertenece a una de las cuatro categorías anteriores pero su configuración no cumple con los requisitos, puede modificar la configuración como se describe en la siguiente tabla. Posteriormente, podrá utilizar Method 1: Directly upgrade the database version in the console o Method 2: Upgrade the database version using DTS.

    Problema

    Solución

    El estado de la instancia no es Running; por ejemplo, está en Restarting.

    Espere a que finalice la tarea actual antes de actualizar la versión de la base de datos.

    El número de tablas en una instancia de High-availability Edition con disco local de alto rendimiento supera 1 millón.

    Elimine las tablas redundantes antes de la actualización.

    Algunas bases de datos o tablas no usan el motor InnoDB.

    Ejecute el comando ALTER TABLE <table_name> engine=InnoDB; para cambiar al motor InnoDB.

    La instancia utiliza un phased-out instance type.

    Actualice el tipo de instancia antes de actualizar la versión de la base de datos. Para más información, consulte Change configuration.

    La versión secundaria del proxy de base de datos no cumple con los requisitos.

    Actualice la versión secundaria del proxy de base de datos a 1.13.41 o posterior. Para más información, consulte Upgrade the minor engine version of a database proxy.

    El tipo de almacenamiento de la instancia es SSD estándar.

    Primero, upgrade the standard SSD to an enterprise SSD (ESSD), y luego actualice la versión de la base de datos.

Para actualizar la versión principal de otros motores de base de datos, consulte los siguientes temas:

Método 1: Actualización directa de la versión desde la consola

Preparativos

  1. Comprenda las diferencias y beneficios de la nueva versión

  2. Comprenda el proceso de actualización y su impacto

    • Restricción de salto de versiones: No es posible actualizar entre versiones principales no consecutivas. De forma predeterminada, la instancia se actualiza a la última versión secundaria de la versión principal objetivo. Por ejemplo, no puede actualizar directamente una instancia de MySQL 5.6 a MySQL 8.0. Primero debe actualizarla a MySQL 5.7 y luego a MySQL 8.0.

    • Restricción de reducción de versión: No puede reducir la versión directamente desde la consola. Puede adquirir una instancia de RDS que ejecute una versión anterior y usar DTS para migrate data from the instance with the later version to the instance with the earlier version. Una vez que compruebe que la migración fue exitosa, puede release the instance with the later version.

    • Proceso de actualización para instancias con disco local de alto rendimiento: El sistema actualiza primero la instancia secundaria. Al finalizar, ocurre un failover primario/secundario. Luego, el sistema actualiza la instancia primaria. La actualización provoca una interrupción del servicio de 15 segundos. Se recomienda realizar la actualización fuera del horario pico.

    • Proceso de actualización para instancias con ESSD: El sistema crea un nuevo nodo y realiza la actualización en él. Una vez actualizado el nuevo nodo, el sistema cambia las conexiones hacia este. La actualización provoca una interrupción del servicio de 15 segundos. Se recomienda realizar la actualización fuera del horario pico.

  3. Revise las configuraciones de la instancia y la base de datos

    • Verifique palabras clave reservadas: Revise las funciones definidas por el usuario para asegurarse de que no utilicen ninguna reserved keywords.

    • Verifique copias de seguridad completas: Compruebe si se creó una copia de seguridad completa de datos exitosa en la última semana. De lo contrario, realice una copia de seguridad completa.

    • Verifique el mecanismo de reconexión automática: Durante la actualización de la base de datos, RDS realiza un cambio de instancia. Se recomienda realizar la actualización fuera del horario pico o asegurar que su aplicación cuente con un mecanismo de reconexión automática. Para más información sobre el impacto de un cambio de instancia, consulte Impact of an instance switchover.

    • Verifique el espacio de almacenamiento disponible: Asegúrese de tener suficiente espacio libre en disco antes de la actualización. Se recomienda reservar como mínimo 10 GB.

    • Ajuste la directiva de limpieza de registros: Aumente el periodo de retención y el porcentaje máximo de uso de almacenamiento para los registros locales. Para más información, consulte Modify the local log policy.

    • Respalde los parámetros de la instancia: Para garantizar la estabilidad y el rendimiento de la nueva versión de MySQL, RDS descontinúa algunos parámetros de la versión anterior. Ya no podrá ver ni modificar estos parámetros después de la actualización. Antes de realizar una actualización de versión principal, respalde los registros de modificación de los parámetros relevantes para futuras operaciones y auditorías.

    • Para actualizaciones de 5.6 a 5.7, de 5.7 a 8.0 o de 8.0 a 8.4, debe realizar las siguientes comprobaciones adicionales:

      Actualización de 5.6 a 5.7

      Verifique índices de texto completo e información de versión: En bases de datos de instancias RDS for MySQL 5.6 con versión secundaria anterior a 20221130, los índices de texto completo se crean en el tablespace del sistema. La actualización a la versión 5.7 podría dañar el tablespace. Si su instancia ejecuta una versión secundaria anterior, primero actualícela a la última versión secundaria de RDS for MySQL 5.6 y luego actualice la versión principal. Para más información, consulte FAQ.

      Actualización de 5.7 a 8.0

      • Verifique la compatibilidad de funciones: Si los procedimientos almacenados, triggers, vistas o funciones de su base de datos utilizan funciones no compatibles con MySQL 8.0

        , modifíquelos antes de la actualización. De lo contrario, la actualización fallará.

      • Verifique dependencias de tablas del sistema: Compruebe si sus servicios dependen de tablas del sistema de MySQL 5.7 (tablas en las bases de datos sys, mysql, information_schema y performance_schema). Algunas tablas del sistema en MySQL 5.7 cambian durante la actualización a 8.0. Por ejemplo, las tablas podrían eliminarse, renombrarse o sufrir alteraciones en su esquema. Si sus servicios dependen de estas tablas, podrían presentar errores.

      • Verifique la compatibilidad de tipos de datos: RDS for MySQL 8.0 ya no admite algunos tipos de datos de versiones anteriores. Si una tabla contiene campos con tipos de datos no compatibles con MySQL 8.0, debe resolver este problema ejecutando REPAIR TABLE o realizando una exportación e importación lógica antes de la actualización. Para más información, consulte Preparing Your Installation for Upgrade.

      • Verifique valores de comment**: Las versiones secundarias de MySQL 8.0 a partir de 20221231 introducen el parámetro loose_upgrade_clear_invalid_comment. Cuando este parámetro se establece en ON (valor predeterminado), los caracteres ilegibles en los comentarios de tablas, campos e índices se limpian automáticamente durante la actualización para evitar fallos. Por lo tanto, antes de actualizar, compruebe si los valores comment en las tablas de su base de datos contienen caracteres ilegibles. Si es así, el valor comment se limpiará.

      • Verifique procedimientos almacenados: Si los procedimientos almacenados o funciones de su base de datos contienen caracteres ilegibles, corríjalos antes de la actualización para evitar fallos.

      • Verifique tipos de datos temporales de MySQL 5.5 y anteriores: Si su base de datos contiene tablas con tipos de datos temporales de MySQL 5.5 o anteriores, reconstruya las tablas antes de actualizar a MySQL 8.0 para evitar fallos.

        • Ejecute las siguientes sentencias SQL para comprobar si su instancia de base de datos contiene tablas con tipos de datos temporales de MySQL 5.5 o anteriores:

          # Show old time data types.
          SET SESSION show_old_temporals= ON;
          
          # Query for tables that contain old time data types.
          SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE FROM information_schema.columns WHERE COLUMN_TYPE IN ("time /* 5.5 binary format */ ", "timestamp /* 5.5 binary format */", "datetime /* 5.5 binary format */ ");
        • Si una tabla contiene tipos de datos temporales de MySQL 5.5 o anteriores, puede ejecutar el siguiente comando para reconstruir el esquema de la tabla:

          # Rebuild the table.
          ALTER TABLE <table_name> FORCE;

      Actualización de 8.0 a 8.4

      • Verifique la compatibilidad de funciones: MySQL 8.4 ya no admite ciertas funciones heredadas, como Group Replication (MGR). Si MGR está habilitado en la instancia, detenga Group Replication y limpie la configuración relacionada antes de la actualización. De lo contrario, la actualización no podrá continuar.

      • Verifique la compatibilidad de tablas, índices y metadatos: Compruebe si la instancia contiene motores de almacenamiento, índices de texto completo, tablespaces descartados, claves foráneas en tablas particionadas, nombres de columnas de vista o restricciones de clave foránea excesivamente largos, o índices SPATIAL o RTREE incompatibles con MySQL 8.4. Si se encuentra un problema, modifique el esquema de la tabla o elimine los índices relacionados antes de la actualización y vuelva a crearlos según sea necesario después de esta. Además, las tablas que utilizan un campo FLOAT o DOUBLE como columna AUTO_INCREMENT también deben modificarse con antelación.

      • Verifique la topología de la instancia y las condiciones de actualización: Compruebe si el estado de salud de los nodos primario y secundario, el retraso de replicación, la cantidad y tipos de instancias de solo lectura y de solo lectura en espera, el tipo de conexión de la instancia, las tareas pendientes, el tipo de instancia de la versión objetivo y la versión de MaxScale cumplen con los requisitos de actualización. Los elementos de verificación varían según el tipo de instancia: las instancias de disco local tienen comprobaciones adicionales de topología de instancias de solo lectura, y las instancias de disco en la nube tienen comprobaciones de tipo de almacenamiento y entorno en la nube.

      • Verifique la compatibilidad de parámetros, autenticación y conexiones: MySQL 8.4 elimina algunos parámetros de 8.0 y configuraciones de autenticación; el proceso de actualización filtra o convierte automáticamente los parámetros incompatibles. MySQL 8.4 ya no admite TLSv1 ni TLSv1.1. El sistema ajusta automáticamente tls_version del lado del servidor, pero los clientes que usen protocolos TLS antiguos seguirán sin poder conectarse después de la actualización. Confirme con antelación que sus clientes admiten TLSv1.2 o TLSv1.3. Algunos comportamientos predeterminados de autenticación, permisos y parámetros también cambian. Antes de la actualización, asegúrese de que el inicio de sesión de cuentas, los permisos y el rendimiento del servicio no se vean afectados.

  4. Pruebas y simulación previas a la actualización

    • Pruebas de sintaxis: Antes de la actualización, cree una nueva instancia de RDS con la versión posterior para probar la compatibilidad de sintaxis. Esto ayuda a evitar problemas donde la sintaxis o funciones de la versión anterior no sean compatibles después de la actualización.

    • Simulación de actualización: Antes de actualizar, clone la instancia original y utilice la instancia clonada para probar la actualización. Una vez que confirme que todas las funciones operan correctamente, actualice la instancia original.

  5. Notas posteriores a la actualización

    • Restaurar una instancia a la versión anterior: Puede utilizar una copia de seguridad de disco en la nube de la versión anterior para restaurar una instancia a esa versión. Esto no es compatible con instancias que tienen discos locales de alto rendimiento.

    • Restaurar una instancia a la nueva versión: No puede usar conjuntos de copia de seguridad de la versión anterior para restaurar una instancia a la nueva versión. Para realizar una restauración, utilice un conjunto de copia de seguridad creado después de actualizar la instancia.

Procedimiento

Seleccione un método de actualización según el escenario:

Método de actualización

Escenario de actualización

Realizar una comprobación previa y luego actualizar

  • High-availability Edition (disco local de alto rendimiento): Actualización de 5.6 a 5.7 o de 5.7 a 8.0.

  • High-availability Edition (ESSD o disco de alto rendimiento) y Cluster Edition (ESSD o disco de alto rendimiento): Actualización de 5.7 a 8.0.

  • Todas las ediciones: Actualización de 8.0 a 8.4.

Actualización directa

  • High-availability Edition con discos locales de alto rendimiento: Actualización de 5.5 a 5.6.

  • Basic Edition (ESSD o disco de alto rendimiento): Actualización de 5.7 a 8.0.

Realizar una comprobación previa y luego actualizar

  1. Vaya a la página Instances. En la barra de navegación superior, seleccione la región donde se encuentra su instancia. Luego, haga clic en el ID de la instancia.

  2. En el panel de navegación izquierdo, haga clic en Major Version Upgrade para ir a la página Upgrade Check.

  3. En la lista desplegable Select upgrade version, seleccione la versión objetivo y haga clic en Create upgrade check report. Para más información sobre el informe, consulte Description of the major version upgrade check report.

  4. Una vez completada la comprobación y tras confirmar que no existen riesgos, cambie a la pestaña Upgrade Instance.

  5. En la lista desplegable Select upgrade version, seleccione la versión objetivo y haga clic en Upgrade Instance.

  6. En el cuadro de diálogo Major Engine Version Upgrade, confirme la versión objetivo, seleccione un Switching Time y haga clic en Upgrade.

Actualización directa

  1. Vaya a la página Instances. En la barra de navegación superior, seleccione la región donde se encuentra su instancia. Luego, haga clic en el ID de la instancia.

  2. En la sección Basic Information > Configuration Information, haga clic en Upgrade Major Engine Version.

    Nota

    Si esta opción no está disponible, compruebe si su instancia cumple con upgrade requirements.

  3. En el cuadro de diálogo que aparece, seleccione Switch Now o Switch Within Maintenance Window, y luego haga clic en OK.

    • Switch Now: Inicia la actualización inmediatamente.

    • Switch Within Maintenance Window: La actualización se ejecuta dentro de la maintenance window especificada. También puede hacer clic en Settings junto a Maintenance Window para cambiar rápidamente la ventana de mantenimiento.

    Nota

    Durante la actualización, el estado de la instancia es Upgrading Version.

Método 2: Actualización de la versión mediante DTS

Para instancias que no admiten una actualización directa desde la consola, puede crear una nueva instancia con una versión de base de datos posterior. Luego, utilice una tarea de migración de datos de DTS para migrar los datos de la instancia original a la nueva. Esto actualiza la versión de la base de datos de forma indirecta. Este proceso implica los siguientes pasos:

  1. Create a new instance

  2. Migrate data to the new instance

  3. Release the original instance

Ejemplo: Tiene una instancia de MySQL 5.7 con TDE habilitado, la cual no se puede actualizar directamente desde la consola. En este caso, puede crear una nueva instancia que ejecute MySQL 8.0, migrar los datos de la instancia original a la nueva y finalmente liberar la instancia original. Esto actualiza la versión de la base de datos de manera indirecta.

Importante

Después de una migración de datos entre versiones, pruebe la compatibilidad y monitoree la instancia durante un periodo de tiempo. Una vez que confirme que todo funciona correctamente, libere la instancia original.

Apéndice 1: Beneficios de actualizar de MySQL 8.0 a MySQL 8.4

  • Mayor estabilidad a largo plazo. MySQL 8.4 es una versión LTS adecuada para uso prolongado en entornos de producción. Las versiones posteriores 8.4.x se centran en estabilidad, correcciones de seguridad y mantenimiento de compatibilidad.

  • Autenticación mejorada. Admite autenticación WebAuthn/FIDO2. Enterprise Edition puede usar claves de seguridad, biometría y otros métodos de autenticación. En Windows, se admite la autenticación SASL LDAP/GSSAPI/Kerberos.

  • Capacidades GTID mejoradas. Admite GTID etiquetados. Puede usar el formato UUID:TAG:NUMBER para distinguir diferentes dominios de negocio, operaciones administrativas o de datos, y el privilegio TRANSACTION_GTID_TAG proporciona control de acceso.

  • Disponibilidad de replicación mejorada. El aplicador multihilo admite SQL_AFTER_GTIDS, por lo que la replicación paralela puede continuar cuando una réplica alcanza un conjunto GTID específico.

  • Recuperación de relay log mejorada. Admite la limpieza de transacciones incompletas al final del relay log y archivos residuales relacionados, lo que reduce el riesgo de recuperación causado por inconsistencias en el relay log tras un apagado anómalo.

  • Operaciones de Group Replication mejoradas. Dentro de la serie 8.4 LTS, se admiten miembros de grupo entre versiones y reducciones de versión in situ; la espera de operaciones DDL y DCL durante un cambio de primario es más completa, y se admite la limpieza previa de información de autenticación en modo primario único para reducir riesgos de memoria y cambios.

  • Estadísticas mejoradas. Los histogramas admiten control de actualización automática o manual, lo que mejora la capacidad de gestión del mantenimiento de estadísticas del optimizador.

  • Diagnóstico de planes de ejecución mejorado. EXPLAIN FORMAT=JSON admite selección de versión de formato, EXPLAIN FORMAT=JSON INTO escribe la salida en una variable de usuario, y se admiten EXPLAIN FOR SCHEMA y FOR DATABASE, lo que facilita el diagnóstico de SQL entre esquemas.

  • Validación de certificados TLS mejorada. Admite validación de certificados TLS más estricta para mejorar la seguridad de las conexiones cifradas.

  • Clone mejorado. Dentro de la misma serie principal o secundaria, la operación de clonación ya no requiere una coincidencia exacta de versión puntual, lo que facilita la inicialización, recuperación y escalado de instancias entre versiones 8.4.x.

  • Auditoría y firewall mejorados. Enterprise Firewall admite recargas periódicas de caché y esquemas de objetos internos personalizados para mayor flexibilidad operativa.

  • Migración de gestión de claves mejorada. Admite migración de un componente keyring a un plugin keyring, lo que mejora la flexibilidad para escenarios de migración de cifrado y compatibilidad.

  • Observability de actualización mejorada. El directorio de datos mantiene un archivo mysql_upgrade_history en formato JSON que registra el historial de instalación y actualización para auditoría y solución de problemas.

  • Evolución de SQL y optimizador mejorada. Agrega palabras clave como TABLESAMPLE, QUALIFY y PARALLEL para proporcionar una base para futuras extensiones de SQL y del optimizador.

Apéndice 2: Beneficios de actualizar de MySQL 5.7 a MySQL 8.0

  • Mejora la seguridad y ofrece mayor flexibilidad en la gestión de cuentas.

  • Admite la creación y gestión de grupos de recursos.

  • Mejora las funciones del motor de almacenamiento InnoDB.

  • Agrega compatibilidad con nuevos conjuntos de caracteres, tipos de datos, sintaxis, nuevos bloqueos de copia de seguridad y banderas optimizer_switch.

  • Mejora la funcionalidad JSON y XML.

  • Mejora las funciones del optimizador.

  • Mejora el rendimiento de la replicación.

  • Admite la creación de índices de múltiples valores y optimización de derivación de condiciones.

  • Admite la lectura de tablas de privilegios de MySQL.

  • Admite control de asignación de recursos.

Apéndice 3: Beneficios de actualizar de MySQL 5.6 a MySQL 5.7

  • Agrega funciones como gestión de contraseñas, bloqueo de cuentas y conexiones cifradas para mejorar la seguridad de la base de datos.

  • Admite operaciones DDL en línea, como renombrar un índice mediante RENAME INDEX.

  • Mejora la escalabilidad del motor InnoDB y el rendimiento de tablas temporales para una carga de datos más rápida.

  • Admite JSON.

  • Admite Index Condition Pushdown (ICP) para tablas particionadas y nuevos índices espaciales de InnoDB.

  • Optimiza la mayoría de los analizadores sintácticos, optimizadores y modelos de costos para mejorar la mantenibilidad, escalabilidad y rendimiento de la base de datos.

  • Amplía el rango de conjuntos de caracteres admitidos, incluido el conjunto de caracteres GB18030 especificado por el estándar nacional chino.

  • Proporciona el plugin analizador de texto completo ngram, que admite chino, japonés y coreano.

  • Optimiza los hilos de volcado de origen para reducir la contención de bloqueos y aumentar el throughput del origen.

  • Reduce significativamente el retraso de replicación.

  • Agrega la base de datos del sistema sys, que proporciona múltiples métricas y reduce el uso de almacenamiento, mejorando significativamente la usabilidad de la base de datos.

Apéndice 4: Diferencias de funciones entre MySQL 8.4 y MySQL 8.0

Nota

La siguiente tabla enumera solo algunas de las diferencias importantes entre MySQL 8.4 y 8.0. Para más información sobre otras diferencias, consulte MySQL Release Notes.

Función

8.0

8.4

Autenticación WebAuthn

No compatible

Admite autenticación WebAuthn/FIDO2. Enterprise Edition proporciona un plugin del lado del servidor.

SASL LDAP en Windows

No compatible

Admite autenticación SASL LDAP/GSSAPI/Kerberos en Windows.

Capacidad entre versiones puntuales del plugin Clone

Generalmente requiere coincidencia de versión puntual

Dentro de la misma versión principal o secundaria, la clonación puede realizarse entre versiones puntuales, como entre 8.4.0 y 8.4.x.

GTID etiquetado

No compatible

Admite el formato UUID:TAG:NUMBER.

Control de privilegios de etiqueta GTID

No compatible

Agrega el privilegio TRANSACTION_GTID_TAG.

Aplicador multihilo con SQL_AFTER_GTIDS

Uso limitado; puede revertir a un solo hilo

Compatible con el aplicador multihilo.

Saneamiento de recuperación de relay log

Comportamiento antiguo de recuperación de relay log

Puede limpiar transacciones incompletas al final del relay log y archivos residuales relacionados.

Compatibilidad intra-grupo de Group Replication 8.4.x

No aplica

Dentro de la serie 8.4 LTS, se admiten miembros de grupo entre versiones y reducciones de versión in situ.

Recolección de basura de certificación de Group Replication

GC estándar

Admite recolección de basura de certificación preventiva en modo primario único.

Espera de DDL y DCL en group_replication_set_as_primary()

Menor cobertura

Espera a que se completen más operaciones DDL y DCL antes de cambiar el primario.

Actualización automática de histogramas

No admite AUTO UPDATE ni MANUAL UPDATE

Admite control de actualización automática o manual de histogramas.

Versión de salida de EXPLAIN FORMAT=JSON

Formato JSON único

Admite explain_json_format_version para seleccionar la versión del formato JSON.

EXPLAIN FORMAT=JSON INTO

No compatible

Admite escribir la salida explain JSON en una variable de usuario.

EXPLAIN FOR SCHEMA o FOR DATABASE

No compatible

Admite explicar sentencias para un esquema específico.

Manejo de comentarios del cliente MySQL

Elimina comentarios de forma predeterminada

Conserva comentarios de forma predeterminada.

Validación de certificados TLS

Comportamiento más flexible

Admite validación estricta de certificados TLS.

Recarga de caché de Enterprise Firewall

Principalmente recarga al inicio o reinstalación del plugin

Admite recargas periódicas.

Esquema de almacenamiento de Enterprise Firewall

Ubicación interna fija

Admite un esquema personalizado.

Migración de componente keyring a plugin

No compatible

Admite migración de un componente keyring a un plugin keyring.

Historial de actualizaciones

Usa el mecanismo heredado de archivo de información de actualización

El directorio de datos mantiene un archivo mysql_upgrade_history en formato JSON.

Apéndice 5: Diferencias de funciones entre MySQL 8.0 y MySQL 5.7

Nota

La siguiente tabla enumera solo algunas de las diferencias importantes entre MySQL 8.0 y 5.7. Para obtener más información sobre otras diferencias, consulte MySQL Release Notes.

Función

5.7

8.0

Sintaxis de GRANT ... IDENTIFIED BY PASSWORD

Compatible

No compatible

Función PASSWORD()

Compatible

No compatible

Sintaxis de FLUSH QUERY CACHE y RESET QUERY CACHE

Compatible

No compatible

Parámetros para la variable de sistema SQL_MODE: DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS

Compatible

No compatible

Ordenamiento automático predeterminado para la sintaxis GROUP BY

Compatible

No compatible

Sintaxis que contiene la palabra clave EXTENDED o PARTITIONS

Compatible

No compatible

Funciones de cifrado como ENCODE(), DECODE() y ENCRYPT()

Compatible

No compatible

Funciones relacionadas con el análisis espacial

Compatible

No compatible

Funciones que anteriormente aceptaban cadenas WKB o argumentos de geometría, pero que ya no admiten argumentos de geometría

Compatible

No compatible

Análisis sintáctico de \N como NULL

Compatible

No compatible

Función PROCEDURE ANALYSE()

Compatible

No compatible

Creación de tablas particionadas mediante el motor de almacenamiento NDB

Compatible

No compatible

Compresión de tablas temporales mediante el motor de almacenamiento InnoDB

Compatible

No compatible

Función JSON_APPEND()

Compatible

No compatible

Soporte para colocar particiones de tabla en un tablespace compartido

Compatible

No compatible

Sintaxis de ALTER TABLE ... UPGRADE PARTITIONING

Compatible

No compatible

Apéndice 6: Diferencias de funciones entre MySQL 5.7 y MySQL 5.6

Nota

La siguiente tabla enumera solo algunas de las diferencias importantes entre MySQL 5.7 y 5.6. Para obtener más información sobre otras diferencias, consulte MySQL Release Notes.

Función

5.6

5.7

CREATE...AS SELECT en modo GTID

Compatible

No compatible

Uso de tablas temporales en transacciones en modo GTID

Compatible

No compatible

Especificación de una clave de partición en una tabla particionada

Compatible

No compatible

Sintaxis de ENGINE_NO_CACHE

Compatible

No compatible

Índices invisibles

Compatible

No compatible

Sintaxis de UPDATE non_affected_rows INSERT

Compatible

No compatible

Comandos relacionados con proxy

Utiliza el método de comando SET

Utiliza el modo Call Procedure

Motores TokuDB, Sphinx, RocksDB y Memory

Compatible

No compatible

Función str_ord()

Compatible

No compatible

Función raiseerror()

Compatible

No compatible

OPTIMIZE TABLE table ASYNC

Compatible

No compatible

ENGINE_NO_CACHE

Compatible

No compatible

Tabla INFORMATION.TABLE_UTILIZATION

Compatible

No compatible

Las columnas requesting_thd_id y blocking_thd_id en la tabla INFORMATION_SCHEMA.INNODB_LOCK_WAITS

Compatible

No compatible

Tabla INFORMATION_SCHEMA.INNODB_RSEG

Compatible

No compatible

Tabla INFORMATION_SCHEMA.INNODB_IO_STATUS

Compatible

No compatible

Función de compresión de columnas

Compatible

No compatible

Caché de planes de consulta

Compatible

No compatible

Sintaxis Limit + Union

Los paréntesis no son obligatorios.

Los paréntesis son obligatorios.

Sintaxis de SHOW FULL PROCESSLIST

En MySQL 5.7, las columnas memory y query_memory se eliminaron del resultado.

max_statement_time y max_execution_time

En MySQL 5.7, se eliminó max_statement_time y solo se conservó max_execution_time.

Sintaxis de RDS_SQL_MAX_AFFECTED

En MySQL 5.7, ya no es posible usar RDS_SQL_MAX_AFFECTED para limitar el número de registros afectados por una sola instrucción UPDATE o DELETE. Utilice la variable rds_sql_max_affected_rows en su lugar.

Ajustes de optimización del rendimiento de concurrencia

En MySQL 5.7, los siguientes parámetros ya no son compatibles para el control de concurrencia:

  • innodb_adaptive_tickets_algo

  • innodb_min_concurrency_tickets

  • rds_threads_running_ctl_mode

  • rds_threads_running_high_watermark

  • rds_filter_key_cmp_in_order

  • rds_reset_all_filter

  • rds_sql_delete_filter

  • rds_sql_select_filter

  • rds_sql_update_filter

  • rds_strict_concurrency

  • rds_thread_extra_concurrency

  • rds_strict_trx_idle_timeout

  • rds_sql_buf_read_bandwidth

  • rds_sql_buf_read_threshold_bytes

  • rds_sql_buf_write_bandwidth

  • rds_sql_buf_write_threshold_bytes

  • rds_sql_max_iops

Ajustes en las variables de recuento de conexiones

Las siguientes variables se eliminaron en MySQL 5.7:

  • extra_max_connections

  • rds_root_connections

  • rds_sysinfo_connections

  • rds_sysinfo_user_list

Ajustes relacionados con la replicación

  • Ajustes de compatibilidad de MySQL 5.7:

    • Ya no se admite la replicación entre bases de datos con GTID habilitado y sin GTID habilitado.

    • sql_slave_skip_counter ya no se puede utilizar con GTID.

    • CREATE .... SELECT ya no es compatible.

  • Ajustes relacionados con réplicas en MySQL 5.7:

    • SHOW SLAVE LAG ya no es compatible.

    • SHOW SLAVE STATUS ya no admite tiempos de espera.

    • SHOW SLAVE STATUS muestra menos información.

    • El sql_thread de la réplica ya no admite tiempos de espera de ejecución.

    • El sql_thread de la réplica ya no permite omitir ciertas instrucciones.

  • Ajustes del registro binario en MySQL 5.7:

    • Ya no se admite el ajuste de la velocidad de transmisión.

    • rds_rpl_receive_buffer_difftime ya no es compatible.

    • rds_rpl_receive_buffer_size ya no es compatible.

Ajustes relacionados con registros

Ajustes del registro de errores en MySQL 5.7:

  • La dirección IP, el usuario y la latencia de E/S o de red para SHUTDOWN ya no se registran.

  • Ya no se admite la visualización del nombre de tabla para una clave duplicada.

Tipos de datos de tiempo antiguos (<u>TIME</u>, <u>DATETIME</u> y <u>TIMESTAMP</u>)

Antes de la versión 5.6.4, los tipos de datos de tiempo antiguos no admitían microsegundos.

Los tipos de datos de tiempo admiten precisión de microsegundos.

Importante

Durante una actualización de 5.6 a 5.7, el sistema detecta y reconstruye las tablas que contienen campos con tipos de datos de tiempo antiguos. Esto ralentiza el proceso de actualización.

Apéndice 7: Diferencias de funciones entre MySQL 5.5 y MySQL 5.6

Nota

La siguiente tabla enumera solo algunas de las diferencias importantes entre MySQL 5.5 y 5.6. Para obtener más información sobre otras diferencias, consulte Manual de referencia de MySQL 5.6.

Función

MySQL 5.5

MySQL 5.6

Índice de texto completo

No compatible

Compatible

DDL en línea de InnoDB

No compatible

Parcialmente compatible

REDO

Admite un máximo de 4 GB

Admite un máximo de 512 GB

Vaciado de páginas sucias

Un solo hilo

Utiliza un hilo de vaciado separado

Purga

Un solo hilo

Multihilo

EXCHANGE PARTITION

No compatible

Compatible

Selección explícita de particiones en DML

No compatible

Compatible

INFORMATION_SCHEMA

MySQL 5.6 proporciona más información sobre el pool de búferes y más metadatos sobre tablas, índices y campos.

PERFORMANCE_SCHEMA

Performance Schema en MySQL 5.6 agrega más información de monitoreo y formatos de visualización.

Replicación

Las mejoras y cambios en la replicación de MySQL 5.6 incluyen lo siguiente:

  • Admite replicación basada en GTID. La replicación basada en GTID se controla mediante los parámetros gtid_mode y enforce_gtid_consistency.

  • Admite la aplicación concurrente de registros binarios en la base de datos secundaria mediante varios hilos.

  • FLUSH MASTER y FLUSH SLAVE cambiaron a RESET MASTER y RESET SLAVE en MySQL 5.6.

  • SLAVE START y SLAVE STOP cambiaron a START SLAVE y STOP SLAVE en MySQL 5.6.

Importante

Después de actualizar una instancia de RDS for MySQL de 5.5 a 5.6, esta cambia automáticamente al modo de replicación basado en GTID.

Optimizador

MySQL 5.6 mejora el optimizador con funciones que incluyen las siguientes:

  • Multi-Range Read.

  • Index Condition Pushdown.

  • Está disponible el soporte para Optimizer_trace.

Purge Large File Asynchronously

No compatible

Compatible

Thread pool

No compatible

Compatible

Performance Agent

No compatible

Compatible

Faster DDL

No compatible

Compatible

Sequence Engine

No compatible

Compatible

Preguntas frecuentes

  • P: ¿Por qué ocurre un cambio de instancia durante la actualización? ¿Existen otros riesgos graves?

    R: Para garantizar la estabilidad del servicio, las instancias con discos locales de alto rendimiento se actualizan primero en el nodo secundario y luego se realiza un cambio de instancia. Las instancias con ESSD se actualizan creando un nuevo nodo y posteriormente ejecutando un cambio de instancia. No existen otros riesgos graves. Para obtener más información sobre el impacto de un failover primario/secundario, consulte Impact of a primary/secondary failover.

  • P: ¿Los nodos primario y secundario se actualizan al mismo tiempo?

    R: Al actualizar un disco local de alto rendimiento, primero se actualiza la instancia secundaria y después la instancia primaria.

  • P: ¿Cómo actualizo una instancia Basic Edition que ejecuta MySQL 5.7 con SSD estándar?

    R: No es posible actualizar directamente este tipo de instancia. Para actualizar una instancia Basic Edition que ejecuta MySQL 5.7 con SSD estándar, primero debe change the storage type from standard SSD to ESSD y luego upgrade the database version.

  • P: ¿Se conserva la plantilla de parámetros después de actualizar la versión de la base de datos?

    R: Depende. Si la instancia utiliza una plantilla de parámetros del sistema antes de la actualización, cambiará automáticamente a la plantilla de parámetros del sistema correspondiente para la nueva versión. Por ejemplo, una instancia que usa la plantilla de parámetros MySQL_InnoDB_5.7_High-availability_Performance cambiará a la plantilla MySQL_InnoDB_8.0_High-availability_Performance tras una actualización de MySQL 5.7 a 8.0. Sin embargo, si la instancia utiliza una plantilla de parámetros personalizada, dicha plantilla no se conservará después de la actualización.

  • P: ¿Puedo modificar la instancia durante la actualización de la versión de la base de datos?

    R: No, no es posible. Solo podrá realizar otras operaciones en la instancia una vez completada la actualización.

  • P: ¿La versión de la base de datos admite actualizaciones automáticas?

    R: No. Las actualizaciones automáticas de versión principal no son compatibles.

  • P: ¿Puedo bajar de versión la base de datos?

    R: No, no es posible bajar de versión directamente desde la consola. Seleccione uno de los siguientes métodos según si la instancia contiene datos de negocio:

    • Con datos de negocio: Adquiera una instancia que ejecute una versión anterior, utilice DTS para migrar los datos de la instancia de versión superior a la nueva instancia de versión inferior y, finalmente, libere la instancia de versión superior una vez completada la migración. Esto reduce indirectamente la versión de la base de datos. Para obtener más información, consulte Data migration between RDS instances.

    • Sin datos de negocio: Cancele la suscripción de la instancia original y adquiera una nueva instancia que ejecute la versión anterior requerida. Para instancias de suscripción, siga el proceso de reembolso para cancelar la suscripción. Para instancias pay-as-you-go, libérelas directamente.

  • P: Al actualizar una instancia de RDS for MySQL de 5.6 a 5.7 o de 5.7 a 8.0, la actualización falla. Aparece el mensaje "The current instance has a full-text index and its minor version is earlier than 20221130. Please upgrade the minor version before deleting and rebuilding the full-text index" o "The current instance contains a full-text index built in the system tablespace. Please delete and rebuild the corresponding full-text index before proceeding with the upgrade." ¿Cuál es la causa y la solución?

    R: La causa y la solución son las siguientes:

    • Causa

      Debido a un problema histórico en MySQL, al crear un índice de texto completo en una versión temprana de MySQL 5.6, este se construye en el tablespace del sistema. Al actualizar a la versión 5.7 u 8.0, un índice de texto completo en el tablespace del sistema podría causar daños en dicho tablespace. Por lo tanto, debe resolver este problema antes de la actualización para evitar la corrupción de datos y la inaccesibilidad.

      Nota

      Este problema se corrigió en la versión 20221130 de RDS for MySQL 5.6. Los índices de texto completo ahora se construyen en un tablespace independiente.

    • Solución

      Importante

      Los índices de texto completo en versiones anteriores de RDS for MySQL 5.6 se crean en el tablespace del sistema. Por lo tanto, asegúrese de que la versión desde la que actualiza sea RDS for MySQL 5.6 20221130 o posterior antes de actualizar a RDS for MySQL 5.7. Si utiliza una versión anterior, actualice primero a la última versión de RDS for MySQL 5.6.

      1. Según el nombre de la tabla indicado en el mensaje, elimine el índice de texto completo que se construyó en el tablespace del sistema.

        # Delete the full-text index.
        ALTER TABLE $table_name DROP INDEX $fts_name;
      2. Vuelva a crear el índice de texto completo.

        # Re-create the full-text index.
        ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
      3. Después de crear el índice, puede ejecutar la siguiente instrucción SQL para comprobar los índices de texto completo en la instancia actual. La instrucción devuelve cualquier índice de texto completo construido en el tablespace del sistema. Si la consulta devuelve un resultado vacío, la actualización de RDS for MySQL 5.6 a RDS for MySQL 5.7 no fallará debido a este problema.

        # Query for full-text indexes built in the system tablespace.
        SELECT NAME FROM information_schema.INNODB_SYS_TABLES WHERE TABLE_ID IN ( SELECT CONV(SUBSTRING_INDEX(SUBSTRING_INDEX(NAME, '_', -4),'_', 1),16,10) FROM INNODB_SYS_TABLES WHERE NAME LIKE '%fts_00000000%' AND SPACE = 0);
  • P: Al actualizar una instancia de RDS for MySQL de 5.7 a 8.0, se reporta el error 267 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='. ¿Cómo debo proceder?

    R: Compruebe el conjunto de caracteres y la intercalación en MySQL. Si está utilizando utf8mb4_general_ci, ejecute las siguientes instrucciones SQL para cambiarlo a utf8mb4_0900_ai_ci.

    # Modify the character set and collation of the database.
    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
    # Modify the character set and collation of the table.
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
    # Modify the character set and collation of the field.
    ALTER TABLE table_name CHANGE column_name column_name type CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

    Si crea una tabla con la intercalación utf8mb4_general_ci en MySQL 5.7 y luego actualiza a MySQL 8.0, el sistema utiliza utf8mb4_0900_ai_ci como intercalación predeterminada. Si ejecuta una consulta que compara una columna que usa utf8mb4_general_ci con una columna que usa utf8mb4_0900_ai_ci, MySQL no podrá procesar las dos intercalaciones diferentes, lo que provocará un error.

  • P: ¿El tiempo de conexión transitoria para una actualización de versión principal es siempre de 15 segundos, independientemente de si existen instancias de solo lectura?

    R: Sí, así es. Se recomienda realizar la actualización fuera del horario pico.

Operaciones de API relacionadas

Operación de API

Descripción

Upgrade the major version of an RDS MySQL database

Actualiza la versión principal de la base de datos de una instancia de RDS.