Share via


Actualización de versión principal de Azure Database for MySQL: servidor flexible

SE APLICA A: Azure Database for MySQL: Servidor flexible

Nota

Este artículo contiene referencias al término esclavo, un término que Microsoft ya no usa. Cuando el término se elimine del software, se eliminará también de este artículo.

En este artículo se describe cómo actualizar la versión principal de MySQL localmente en el Servidor flexible de Azure Database for MySQL. Esta característica permite a los clientes realizar actualizaciones en contexto de sus servidores MySQL 5.7 a MySQL 8.0 sin necesidad de movimiento de datos o de realizar cualquier cambio en la cadena de conexión de la aplicación.

Importante

  • La actualización de versión principal no está disponible actualmente para los servidores de la versión 5.7 en función de la SKU ampliable.
  • La duración del tiempo de inactividad varía en función del tamaño de la instancia de base de datos y del número de tablas que contiene.
  • Al iniciar una actualización de la versión principal de Azure Database for MySQL a través de la API de Rest o el SDK, evite modificar otras propiedades del servicio en la misma solicitud. No se permiten los cambios simultáneos y pueden provocar resultados no deseados o errores de solicitud. Haga modificaciones de propiedad en operaciones independientes tras finalizar la actualización.
  • La actualización de la versión principal de MySQL es irreversible. Es posible que se produzca un error en la implementación si la validación identifica que el servidor está configurado con las características que se quitan o están en desuso. Puede realizar cambios de configuración necesarios en el servidor e intentar la actualización de nuevo.

Requisitos previos

  • Las réplicas de lectura con la versión 5.7 de MySQL deben actualizarse antes de que el servidor principal sea compatible con la replicación entre diferentes versiones de MySQL; lea más sobre Compatibilidad de replicación entre versiones de MySQL.
  • Antes de actualizar los servidores de producción, ahora es más fácil y eficaz con nuestra característica Validación integrada en Azure Portal. Esta herramienta comprueba previamente la compatibilidad del esquema de la base de datos con MySQL 8.0, lo que resalta los posibles problemas. Aunque ofrecemos esta opción cómoda, también se recomienda encarecidamente usar la herramienta del comprobador de actualización de MySQL oficial de Oracle para probar la compatibilidad del esquema de la base de datos y realizar pruebas de regresión necesarias para comprobar la compatibilidad de las aplicaciones con características quitadas/en desuso en la nueva versión de MySQL.
  • Desencadene la copia de seguridad a petición antes de realizar la actualización de una versión principal en el servidor de producción, que se puede usar para revertir a la versión 5.7 desde la copia de seguridad a petición completa realizada.

Realización de una actualización planeada de la versión principal de MySQL 5.7 a MySQL 8.0 mediante Azure Portal

Para realizar una actualización de la versión principal de un servidor del Servidor flexible de Azure Database for MySQL 5.7 mediante Azure Portal, lleve a cabo los siguientes pasos.

  1. En Azure Portal, seleccione el Servidor flexible de Azure Database for MySQL 5.7 existente.

    Importante

    Se recomienda realizar la actualización primero en una copia restaurada del servidor, en lugar de actualizar directamente la copia de producción. Consulte Procedimientos para realizar una restauración a un momento dado.

  2. En la página Información general, en la barra de herramientas, seleccione Actualizar.

    Importante

    Antes de actualizar el vínculo de visita para ver la lista de características quitadas en MySQL 8.0. Compruebe los valores de sql_mode en desuso y quite o anule la selección de ellos del Servidor flexible de Azure Database for MySQL 5.7 actual mediante la hoja Parámetros del servidor en Azure Portal para evitar errores de implementación. sql_mode con valores NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS y NO_TABLE_OPTIONS ya no se admiten en MySQL 8.0.

    Screenshot showing Azure Database for MySQL flexible server Upgrade.

  3. Realizar validación previa a la actualización

    Antes de continuar con la actualización, haga clic en el botón Validar para comprobar la compatibilidad del servidor con MySQL 8.0.

    Screenshot showing validate.

    Importante

    Al usar la característica "Validar" para comprobar la compatibilidad del esquema de la base de datos con MySQL 8.0, tenga en cuenta que implica bloquear las tablas para evaluar con precisión todo el esquema. Este proceso puede provocar tiempos de espera de consulta. Por lo tanto, es aconsejable no realizar la validación durante las horas pico de horario comercial o cuando la base de datos está experimentando un tráfico elevado. Elegir un período de baja actividad para la validación puede ayudar a minimizar el impacto en las operaciones.

  4. En la barra lateral Actualizar, en el cuadro de texto Versión de MySQL para actualizar, compruebe la versión principal de MySQL a la que desea actualizar, es decir, la 8.0.

    Screenshot showing Upgrade.

    Para poder actualizar el servidor principal, primero debe haber actualizado los servidores de réplica de lectura asociados. Hasta que se complete, se deshabilitará Actualizar.

  5. En el servidor principal, seleccione el mensaje de confirmación para comprobar que se han actualizado todos los servidores de réplica y, a continuación, seleccione Actualizar.

    Screenshot showing upgrade.

    En los servidores de réplica de lectura e independientes, Actualizar está habilitada de forma predeterminada.

Realización de una actualización planeada de la versión principal de MySQL 5.7 a MySQL 8.0 mediante la CLI de Azure

Para realizar una actualización de la versión principal de un Servidor flexible de Azure Database for MySQL 5.7 mediante la CLI de Azure, siga estos pasos.

  1. Instale la CLI de Azure para Windows o use la CLI de Azure en Azure Cloud Shell para ejecutar los comandos de actualización.

    En actualización necesita la versión 2.40.0 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente. Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.

  2. Después de iniciar sesión, ejecute el comando az mysql server upgrade.

    az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
    
  3. En el símbolo del sistema de confirmación, escriba y para confirmar o n para detener el proceso de actualización y, a continuación, presione Entrar.

Realización de una actualización de la versión principal de MySQL 5.7 a MySQL 8.0 en un servidor de réplica de lectura mediante Azure Portal

Para realizar una actualización de la versión principal de un servidor flexible de Azure Database for MySQL 5.7 a MySQL 8.0 en una réplica de lectura mediante Azure Portal, realice los pasos siguientes.

  1. En Azure Portal, seleccione el servidor de réplica de lectura de Azure Database for MySQL 5.7 existente.

  2. En la página Información general, en la barra de herramientas, seleccione Actualizar.

Importante

Antes de actualizar el vínculo de visita para ver la lista de características quitadas en MySQL 8.0. Compruebe los valores de sql_mode en desuso y quite o anule la selección de los valores del Servidor flexible de Azure Database for MySQL 5.7 actual mediante la hoja Parámetros del servidor en Azure Portal para evitar errores de implementación.

  1. En la sección Actualización, seleccione Actualizar para actualizar un servidor de réplica de lectura del Servidor flexible de Azure Database for MySQL 5.7 a MySQL 8.0.

    Aparece una notificación para confirmar que la actualización se ha realizado correctamente.

  2. En la página Información general, confirme que el servidor de réplica de lectura del Servidor flexible de Azure Database for MySQL está ejecutando la versión 8.0.

  3. Ahora, vaya al servidor principal y realice una actualización de la versión principal en él.

Realice una actualización de la versión principal con un tiempo de inactividad mínimo desde MySQL 5.7 a MySQL 8.0 mediante réplicas de lectura

Para realizar una actualización de la versión principal de un servidor del Servidor flexible de Azure Database for MySQL 5.7 a MySQL 8.0 con un tiempo de inactividad mínimo mediante servidores de réplica de lectura, lleve a cabo los siguientes pasos.

  1. En Azure Portal, seleccione el Servidor flexible de Azure Database for MySQL 5.7 existente.

  2. Cree una réplica de lectura desde el servidor principal.

  3. Actualice la réplica de lectura a la versión 8.0.

  4. Una vez que confirme que el servidor de réplica se ejecuta en la versión 8.0, detenga la aplicación para que deje de conectarse al servidor principal.

  5. Compruebe el estado de replicación para asegurarse de que la réplica ha alcanzado la principal para que todos los datos estén sincronizados y que no se realicen nuevas operaciones en la principal.

  6. Confirme con el comando show replica status (Mostrar estado de réplica) en el servidor de réplica para ver el estado de replicación.

     SHOW SLAVE STATUS\G
    

    Si el estado de Slave_IO_Running y Slave_SQL_Running es y el valor de Seconds_Behind_Master es 0, la replicación funciona correctamente. Seconds_Behind_Master indica el retraso de la réplica. Si el valor no es 0, la réplica sigue procesando actualizaciones. Después de confirmar que el valor de Seconds_Behind_Master es ***, la replicación se puede detener de forma segura.

  7. Promocione la réplica de lectura a principal. Para ello debe detener la replicación.

  8. Establezca Parámetro del servidor read_only en 0 (OFF) para empezar a escribir en la principal promocionada.

  9. Apunte la aplicación a la nueva réplica principal (réplica anterior) que ejecuta la versión 8.0 del servidor. Cada servidor tiene una cadena de conexión única. Actualice la aplicación para que apunte a la réplica (anterior) en lugar de al origen.

Nota:

Este escenario solo incurre en tiempo de inactividad durante los pasos 4 a 7.

Preguntas más frecuentes

  • ¿El servidor tendrá un tiempo de inactividad del servidor? Si es este el caso, ¿cuánto tiempo dura?

    Para tener un tiempo de inactividad mínimo durante las actualizaciones, siga los pasos mencionados en Realizar una actualización de versión principal con tiempo de inactividad mínimo de MySQL 5.7 a MySQL 8.0 mediante réplicas de lectura. El servidor no estará disponible durante el proceso de actualización, por lo que se recomienda realizar esta operación durante la ventana de mantenimiento planeado. El tiempo de inactividad estimado depende del tamaño de la base de datos, el tamaño de almacenamiento aprovisionado (IOPS aprovisionado) y el número de tablas en la base de datos. El tiempo de actualización es proporcional al número de tablas del servidor. Para calcular el tiempo de inactividad del entorno de su servidor, se recomienda realizar primero la actualización en la copia restaurada del servidor.

  • ¿Qué ocurre con mis copias de seguridad después de la actualización?

    Todas las copias de seguridad (automatizadas o a petición) realizadas antes de la actualización de la versión principal, cuando se usa para la restauración siempre se restaurarán en un servidor con una versión anterior (5.7). Todas las copias de seguridad (automatizadas o a petición) realizadas después de la actualización de la versión principal se restaurarán en el servidor con la versión actualizada (8.0). Se recomienda realizar una copia de seguridad a petición antes de realizar la actualización de la versión principal para una reversión sencilla.

  • Actualmente uso la SKU ampliable, ¿Microsoft tiene pensado admitir la actualización de la versión principal para esta SKU en el futuro?

    La SKU ampliable no puede admitir la actualización de la versión principal debido a la limitación de rendimiento de esta SKU.

    Si necesita realizar una actualización de la versión principal en la instancia del Servidor flexible de Azure Database for MySQL y actualmente usa SKU ampliable, una solución temporal sería actualizar a la SKU De uso general o Crítico para la empresa, realizar la actualización y, a continuación, volver a la SKU ampliable.

    Tenga en cuenta que la actualización a una SKU superior puede implicar un cambio en los precios y puede dar lugar a un aumento de los costes de la implementación. Sin embargo, dado que no se espera que el proceso de actualización tarde mucho tiempo, los costos agregados no deben ser significativos.

Pasos siguientes