Esegui l'upgrade della versione secondaria del database

Questa pagina descrive come impostare la versione secondaria del database di un'istanza. Per le versioni supportate, consulta Criteri di versione e versioni del database.

A ogni nuova versione secondaria, i provider di database rilasciano nuove funzionalità, patch di sicurezza, correzioni di bug e miglioramenti delle prestazioni. Inoltre, Cloud SQL aggiorna regolarmente la versione secondaria durante la manutenzione.

Tuttavia, MySQL 8.0 non supporta il downgrade. Di conseguenza, gli upgrade delle versioni secondarie non sono inclusi automaticamente nella manutenzione programmata. Puoi specificare la versione secondaria di Cloud SQL per MySQL 8.0 durante la creazione di un'istanza o in un secondo momento tramite un processo di upgrade, entrambi descritti in questa pagina.

Prima di eseguire l'upgrade a una nuova versione secondaria di MySQL 8.0, acquisisci familiarità con le modifiche. Consulta le note di rilascio di MySQL 8.0. Se utilizzi Cloud SQL per MySQL 5.6 o 5.7, Cloud SQL gestisce automaticamente la versione secondaria dell'istanza. Quando esegui il provisioning di una nuova istanza, Cloud SQL configura automaticamente l'istanza con la versione del database più recente disponibile. Durante la manutenzione di routine, Cloud SQL esegue automaticamente l'upgrade dell'istanza all'ultima versione supportata.

Per eseguire l'upgrade della versione secondaria del database dell'istanza MySQL 8.0, devi aggiornare l'istanza con la versione secondaria preferita, che deve essere successiva alla versione secondaria attualmente installata. Non puoi ripristinare una versione secondaria non specificata dopo il provisioning di un'istanza.

Prima di eseguire l'upgrade

MySQL 8.0 non consente il downgrade. Prima di eseguire l'upgrade dell'istanza principale, segui questi passaggi per assicurarti che i dati siano al sicuro.

  1. Testa l'upgrade in un ambiente di gestione temporanea.

    1. Crea un clone dell'istanza di produzione da utilizzare come istanza temporanea. Viene creata una nuova istanza di database con le stesse versioni principali e secondarie.

    2. Esegui un upgrade della versione secondaria sull'istanza temporanea.

    3. Esegui i test dei carichi di lavoro per verificare che l'upgrade sia riuscito e che l'applicazione funzioni come previsto. Se il test ha esito positivo, procedi con l'upgrade delle istanze di replica di lettura.

  2. Esegui l'upgrade delle istanze di replica di lettura.

    1. Esegui l'upgrade di tutte le repliche di lettura nel database alla versione secondaria di destinazione.

    2. Verifica che l'applicazione funzioni come previsto.

  3. Esegui il backup dell'istanza principale.

    Come per ogni aggiornamento significativo del database, esegui un backup dell'istanza principale.

Esegui l'upgrade della versione secondaria

Puoi specificare la versione secondaria del database di un'istanza esistente utilizzando gcloud o l'API REST. Esegui upgrade delle versioni secondarie quando il database non è in uso. L'istanza viene riavviata durante l'operazione, causando un tempo di inattività. Se la versione attualmente installata è superiore a quella richiesta, la richiesta viene rifiutata.

gcloud

Utilizza il comando gcloud sql instances patch con il flag --database-version.

Sostituisci le seguenti variabili prima di eseguire il comando:

  • INSTANCE_NAME: il nome dell'istanza.
  • DATABASE_VERSION: la versione del database dell'istanza. Se non specifichi questo flag, viene utilizzata la versione principale predefinita.
gcloud sql instances patch INSTANCE_NAME \
--database-version=DATABASE_VERSION

REST v1

Usa una richiesta PATCH con il metodo instances:patch e il flag databaseVersion.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT-ID: l'ID progetto
  • INSTANCE-ID: l'ID istanza
  • DATABASE_VERSION: la versione del database a cui eseguire l'upgrade.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID

Corpo JSON della richiesta:

{
  "databaseVersion": "DATABASE_VERSION"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://content-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://content-sqladmin.googleapis.com/v1/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

REST v1beta4

Usa una richiesta PATCH con il metodo instances:patch e il flag databaseVersion.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT-ID: l'ID progetto
  • INSTANCE-ID: l'ID istanza
  • DATABASE_VERSION: la versione del database a cui eseguire l'upgrade.

Metodo HTTP e URL:

 https://sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/instances/INSTANCE-ID

Corpo JSON della richiesta:

{
  "databaseVersion": "DATABASE_VERSION"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://content-sqladmin.googleapis.com/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://content-sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

Controlla la versione installata secondaria del database

Quando visualizza le informazioni di riepilogo dell'istanza, la versione installata secondaria del database è visibile nella sezione Configurazione.

Esegui il rollback di un upgrade

Durante il test di un upgrade, se noti un problema, potresti eseguire il rollback del tuo database per recuperare l'istanza di database che esegue la versione secondaria precedente.

Per ripristinare un backup prima dell'upgrade, segui questi passaggi:

  1. Esegui il provisioning di un'istanza del database di recupero nella versione secondaria precedente.
  2. Configura le impostazioni dell'istanza del database di recupero sullo stato precedente all'upgrade.
  3. Ripristina il backup precedente all'upgrade eseguito per l'istanza di ripristino.

In alternativa al ripristino di un backup, esegui un recupero point-in-time e crea una nuova istanza.