Actualiza la versión secundaria de la base de datos

En esta página, se describe cómo actualizar la versión secundaria de una instancia de MySQL. Para conocer las versiones compatibles, consulta Versiones de bases de datos y políticas de versiones.

Con cada versión secundaria nueva, los proveedores de bases de datos lanzan funciones nuevas, parches de seguridad, correcciones de errores y mejoras de rendimiento. Además, Cloud SQL actualiza tu versión secundaria de forma periódica durante el mantenimiento.

Sin embargo, MySQL 8.0 no admite el cambio a una versión inferior. Por lo tanto, las actualizaciones de versiones secundarias no se incluyen de forma automática en el mantenimiento de rutina. Puedes especificar la versión secundaria de Cloud SQL para MySQL 8.0 mientras creas una instancia o más tarde a través de un proceso de actualización. Ambas opciones se describen en esta página.

Antes de actualizar a una versión secundaria nueva de MySQL 8.0, familiarízate con los cambios. Consulta las Notas de la versión de MySQL 8.0. Si usas Cloud SQL para MySQL 5.6 o 5.7, Cloud SQL administra de forma automática la versión secundaria de la instancia. Cuando aprovisionas una instancia nueva, Cloud SQL la configura de forma automática con la versión de la base de datos más reciente disponible. Durante el mantenimiento de rutina, Cloud SQL actualiza de forma automática tu instancia a la última versión compatible.

Para actualizar la versión secundaria de la base de datos de la instancia de MySQL 8.0, debes actualizar la instancia con la versión secundaria que prefieras, que debe ser superior a la versión secundaria instalada actualmente. No puedes volver a una versión secundaria no especificada después de aprovisionar una instancia.

Antes de actualizar

Cloud SQL admite la actualización de versiones secundarias para instancias de MySQL 8.0. MySQL 8.0 no permite cambiar a una versión inferior. Por lo tanto, antes de actualizar la instancia principal, sigue estos pasos para asegurarte de que los datos estén seguros.

  1. Elige la versión secundaria de destino de la base de datos.

    gcloud

    Para obtener información sobre cómo instalar y comenzar a usar la CLI de gcloud, consulta Instala la CLI de gcloud. Para obtener información sobre cómo iniciar Cloud Shell, consulta Usa Cloud Shell.

    A fin de verificar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, haz lo siguiente:

    1. Ejecuta el siguiente comando.
    2. gcloud sql instances describe INSTANCE_NAME
         

      Reemplaza INSTANCE_NAME por el nombre de la instancia.

    3. En el resultado del comando, busca la sección etiquetada upgradableDatabaseVersions.
    4. Cada subsección devuelve una versión de la base de datos que está disponible para actualizarla. En cada subsección, revisa el siguiente campo.
      • name: Es la cadena de la versión de la base de datos que incluye la versión principal y secundaria de la base de datos a la que puedes apuntar para la actualización in situ de la versión secundaria de Cloud SQL para MySQL.

    REST v1

    Para verificar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, utiliza el método instances.get de la API de Cloud SQL Admin.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • INSTANCE_NAME: El nombre de la instancia.

    Método HTTP y URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    upgradableDatabaseVersions:
    
    {
      major_version: "MYSQL_8_0"
      name: "MYSQL_8_0_36"
      display_name: "MySQL 8.0.36"
    }
    
    

    REST v1beta4

    Para verificar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, utiliza el método instances.get de la API de Cloud SQL Admin.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • INSTANCE_NAME: El nombre de la instancia.

    Método HTTP y URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    upgradableDatabaseVersions:
    
    {
      major_version: "MYSQL_8_0"
      name: "MYSQL_8_0_36"
      display_name: "MySQL 8.0.36"
    }
    
    

    Para obtener la lista completa de las versiones de bases de datos compatibles con Cloud SQL, consulta Versiones de bases de datos y políticas de versiones

  2. Prueba la actualización en un entorno de etapa de pruebas.

    1. Crea una clonación de tu instancia de producción para que funcione como una instancia de etapa de pruebas. Esto crea una instancia de base de datos nueva, con las mismas versiones principales y secundarias.

    2. Realiza una actualización de versión secundaria en la instancia de etapa de pruebas.

    3. Ejecuta pruebas de carga de trabajo para verificar que la actualización se haya realizado correctamente y que tu aplicación funcione como se espera. Cuando las pruebas sean exitosas, continúa con la actualización de las instancias de réplica de lectura.

  3. Actualiza las instancias de réplica de lectura.

    1. Actualiza todas las réplicas de lectura en la base de datos a la versión secundaria de destino.

    2. Verifica que tu aplicación funcione como se esperaba.

  4. Crea una copia de seguridad de tu instancia principal.

    Como con cualquier actualización de base de datos significativa, haz una copia de seguridad de tu instancia principal.

Actualiza la versión secundaria

Puedes especificar la versión secundaria de la base de datos de una instancia existente mediante gcloud o la API de REST. Realiza actualizaciones de versiones secundarias cuando la base de datos no esté en uso. La instancia se reinicia durante la operación, lo que provoca tiempo de inactividad. Si la versión instalada actualmente es superior a la versión solicitada, se rechaza la solicitud.

gcloud

Usa el comando gcloud sql instances patch con la marca --database-version:

Reemplaza las siguientes variables antes de ejecutar el comando:

  • INSTANCE_NAME: El nombre de la instancia
  • DATABASE_VERSION: La versión de la base de datos de la instancia. Si no especificas esta marca, se usa la versión principal predeterminada.
gcloud sql instances patch INSTANCE_NAME \
   --database-version=DATABASE_VERSION

REST v1

Usa una solicitud PATCH con el método instances:patch y la marca databaseVersion.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • DATABASE_VERSION: La versión de la base de datos a la que se actualizará.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Cuerpo JSON de la solicitud:

{
  "databaseVersion": "DATABASE_VERSION"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Usa una solicitud PATCH con el método instances:patch y la marca databaseVersion.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • DATABASE_VERSION: La versión de la base de datos a la que se actualizará.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID

Cuerpo JSON de la solicitud:

{
  "databaseVersion": "DATABASE_VERSION"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT_ID"
}

Verifica la versión secundaria instalada de la base de datos

Cuando ves la información de resumen de la instancia, la versión secundaria instalada de la base de datos se puede ver en la sección Configuración.

Revierte una actualización

Mientras pruebas una actualización, si notas un problema, te recomendamos revertir la base de datos para recuperar la instancia de la base de datos que ejecutaba la versión secundaria anterior.

Para restablecer una copia de seguridad previa a la actualización, completa los siguientes pasos:

  1. Aprovisiona una instancia de base de datos de recuperación en la versión secundaria anterior.
  2. Establece la configuración de la instancia de la base de datos de recuperación en el estado previo a la actualización.
  3. Restablece la copia de seguridad previa a la actualización que realizaste en la instancia de recuperación.

Como alternativa a restablecer una copia de seguridad, realiza una recuperación de un momento determinado y crea una instancia nueva.