En esta página se describe cómo actualizar la versión secundaria de una instancia de MySQL. Para ver las versiones admitidas, consulta Versiones de bases de datos y políticas de versiones.
Con cada nueva versión secundaria, los proveedores de bases de datos lanzan nuevas funciones, parches de seguridad, correcciones de errores y mejoras de rendimiento. Además, Cloud SQL actualiza periódicamente tu versión secundaria durante el mantenimiento.
Sin embargo, MySQL 8.0 no admite versiones anteriores. Por lo tanto, las actualizaciones de versiones secundarias no se incluyen automáticamente en el mantenimiento rutinario. Puedes especificar la versión secundaria de Cloud SQL para MySQL 8.0 al crear una instancia o más adelante mediante un proceso de actualización. Ambos procesos se describen en esta página.
Antes de actualizar a una nueva versión secundaria 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 gestiona automáticamente la versión secundaria de tu instancia. Cuando aprovisionas una instancia nueva, Cloud SQL la configura automáticamente con la versión de base de datos más reciente disponible. Durante el mantenimiento rutinario, Cloud SQL actualiza automáticamente tu instancia a la versión compatible más reciente.
Para actualizar la versión secundaria de la base de datos de tu instancia de MySQL 8.0, debes actualizar la instancia con la versión secundaria que prefieras, que debe ser posterior a la versión secundaria instalada. No puedes volver a una versión secundaria no especificada después de aprovisionar una instancia.
Si ejecutas una instancia de la edición Enterprise Plus de Cloud SQL, la actualización de la versión secundaria se completa con prácticamente ningún periodo de inactividad.
Antes de actualizar
Cloud SQL admite la actualización de la versión secundaria de las instancias de MySQL 8.0. MySQL 8.0 no permite versiones anteriores. Por lo tanto, antes de actualizar tu instancia principal, sigue estos pasos para asegurarte de que tus datos estén protegidos.
Elige la versión secundaria de destino de la base de datos.
gcloud
Para obtener información sobre cómo instalar y empezar a usar la CLI de gcloud, consulta el artículo Instalar la CLI de gcloud. Para obtener información sobre cómo iniciar Cloud Shell, consulta el artículo Usar Cloud Shell.
Para comprobar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, haz lo siguiente:
- Ejecuta el siguiente comando:
- En la salida del comando,
busca la sección con la etiqueta
upgradableDatabaseVersions
. - Cada subsección devuelve una versión de la base de datos que se puede actualizar. En cada subsección, revise el siguiente campo.
name
: 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 orientar la actualización in situ de la versión secundaria de Cloud SQL para MySQL.
gcloud sql instances describe INSTANCE_NAME
Sustituye INSTANCE_NAME por el nombre de la instancia.
REST v1
Para comprobar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, usa el método
instances.get
de la API Admin de Cloud SQL.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- INSTANCE_NAME: 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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
REST v1beta4
Para comprobar qué versiones secundarias de la base de datos están disponibles para una actualización in situ, usa el método
instances.get
de la API Admin de Cloud SQL.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- INSTANCE_NAME: 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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
Para ver la lista completa de las versiones de la base de datos que admite Cloud SQL, consulta Versiones de la base de datos y políticas de versiones.
Prueba la actualización en un entorno de staging.
Crea un clon de tu instancia de producción para que sirva como instancia de staging. De esta forma, se crea una instancia de base de datos con las mismas versiones principal y secundaria.
Realiza una actualización de versión secundaria en la instancia de staging.
Ejecuta pruebas de carga de trabajo para verificar que la actualización se ha realizado correctamente y que tu aplicación funciona como se espera. Si las pruebas se realizan correctamente, actualiza tus instancias de réplica de lectura.
Actualiza tus instancias de réplica de lectura.
Actualiza todas las réplicas de lectura de la base de datos a la versión secundaria de destino.
Verifica que tu aplicación funciona correctamente.
Crea una copia de seguridad de tu instancia principal.
Al igual que con cualquier actualización importante de la base de datos, haz una copia de seguridad de tu instancia principal.
Actualizar la versión secundaria
Puedes especificar la versión secundaria de la base de datos de una instancia que ya tengas con gcloud
o con la API REST. Realiza las actualizaciones de versiones secundarias en un momento en el que la base de datos no esté en uso. Si tu instancia requiere un reinicio, como resultado, tu instancia experimentará un tiempo de inactividad. Las instancias de la edición Enterprise Plus de Cloud SQL experimentan un tiempo de inactividad prácticamente nulo.
Si la versión instalada es posterior a la solicitada, se rechaza la solicitud.
gcloud
Usa el comando gcloud sql instances patch
con la marca --database-version
.
Sustituye 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 usará 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 los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia.
- DATABASE_VERSION: la versión de la base de datos a la que se va a actualizar.
Método HTTP y 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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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 los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia.
- DATABASE_VERSION: la versión de la base de datos a la que se va a actualizar.
Método HTTP y 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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" }
Comprobar la versión secundaria instalada de la base de datos
Cuando consultes la información de resumen de la instancia, verás la versión secundaria instalada de la base de datos en la sección Configuración.
Restaurar una versión anterior
Durante las pruebas de una actualización, si detectas algún problema, puede que quieras restaurar tu base de datos para recuperar la instancia de base de datos que ejecuta la versión secundaria anterior.
Para restaurar una copia de seguridad anterior a la actualización, sigue estos pasos:
- Provisiona una instancia de base de datos de recuperación en la versión secundaria anterior.
- Configura los ajustes de la instancia de la base de datos de recuperación en el estado previo a la actualización.
- Restaura la copia de seguridad que hiciste antes de la actualización en la instancia de recuperación.
Como alternativa a la restauración de una copia de seguridad, realiza una recuperación a un momento dado y crea una instancia.