Esegui l'upgrade della versione secondaria del database

Questa pagina descrive come eseguire l'upgrade della versione minore di un'istanza MySQL. Per le versioni supportate, consulta Versioni e criteri per le versioni dei database.

Con ogni nuova versione secondaria, i fornitori 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 di routine. Puoi specificare la versione minore per Cloud SQL per MySQL 8.0 durante la creazione di un'istanza o in un secondo momento tramite una procedura di upgrade, entrambe descritte 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 minore dell'istanza. Quando esegui il provisioning di una nuova istanza, Cloud SQL la configura automaticamente con la versione più recente del database disponibile. Durante la manutenzione di routine, Cloud SQL esegue automaticamente l'upgrade dell'istanza alla versione supportata più recente.

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

Se esegui un'istanza Cloud SQL nella versione Enterprise Plus, l'upgrade della versione minore viene completato con tempi di inattività quasi nulli.

Prima di eseguire l'upgrade

Cloud SQL supporta l'upgrade alle versioni secondarie per le istanze MySQL 8.0. MySQL 8.0 non consente i downgrade. Pertanto, prima di eseguire l'upgrade dell'istanza principale, segui questi passaggi per assicurarti che i tuoi dati siano al sicuro.

  1. Scegli la versione secondaria di destinazione del database.

    gcloud

    Per informazioni su come installare e iniziare a utilizzare gcloud CLI, consulta Installare gcloud CLI. Per informazioni su come avviare Cloud Shell, consulta Utilizzare Cloud Shell.

    Per controllare quali versioni secondarie del database sono disponibili per un upgrade in situ: segui questi passaggi:

    1. Esegui questo comando.
    2. gcloud sql instances describe INSTANCE_NAME
         

      Sostituisci INSTANCE_NAME con il nome dell'istanza.

    3. Nell'output del comando, individua la sezione etichettata upgradableDatabaseVersions.
    4. Ogni sottosezione restituisce una versione del database disponibile per l'upgrade. In ogni sottosezione, esamina il seguente campo.
      • name: la stringa della versione del database che include la versione maggiore e minore del database che puoi scegliere come target per l'upgrade in situ della versione minore di Cloud SQL per MySQL.

    REST v1

    Per controllare quali versioni secondarie del database sono disponibili per un upgrade in situ, utilizza il metodo instances.get dell'API Cloud SQL Admin.

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

    • INSTANCE_NAME: il nome dell'istanza.

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

    REST v1beta4

    Per controllare quali versioni secondarie del database sono disponibili per un upgrade in situ, utilizza il metodo instances.get dell'API Cloud SQL Admin.

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

    • INSTANCE_NAME: il nome dell'istanza.

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

    Per l'elenco completo delle versioni del database supportate da Cloud SQL, consulta Versioni del database e criteri di versione.

  2. Esegui il test dell'upgrade in un ambiente di staging.

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

    2. Esegui un upgrade della versione secondaria nell'istanza di staging.

    3. Esegui test dei carichi di lavoro per verificare che l'upgrade sia riuscito e che l'applicazione funzioni come previsto. Se il test va a buon fine, procedi con l'upgrade delle istanze di replica di lettura.

  3. 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.

  4. Esegui il backup dell'istanza principale.

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

Esegui l'upgrade della versione secondaria

Puoi specificare la versione minore del database di un'istanza esistente utilizzando gcloud o l'API REST. Esegui gli upgrade delle versioni secondarie quando il database non è in uso. Se l'istanza richiede un riavvio, subirà un certo tempo di inattività. Le istanze della versione Cloud SQL Enterprise Plus hanno tempi di inattività quasi nulli. Se la versione 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

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

Prima di utilizzare i dati della richiesta, apporta 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://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

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

Prima di utilizzare i dati della richiesta, apporta 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/sql/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://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"
}

Controlla la versione minore del database installata

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

Esegui il rollback di un upgrade

Se durante il test di un upgrade noti un problema, ti consigliamo di eseguire il rollback del database per recuperare l'istanza del database che esegue la versione minore precedente.

Per ripristinare un backup precedente all'upgrade:

  1. Esegui il provisioning di un'istanza del database di recupero nella versione minore precedente.
  2. Configura le impostazioni dell'istanza del database di recupero nello stato precedente l'upgrade.
  3. Ripristina il backup eseguito prima dell'upgrade nell'istanza di recupero.

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