Upgrade der Datenbanknebenversion ausführen

Auf dieser Seite wird beschrieben, wie Sie die Nebenversion einer MySQL-Instanz aktualisieren. Unterstützte Versionen finden Sie unter Datenbankversionen und Versionsrichtlinien.

Mit jeder neuen Nebenversion veröffentlichen Datenbankanbieter neue Features, Sicherheitspatches, Fehlerkorrekturen und Leistungsverbesserungen. Darüber hinaus aktualisiert Cloud SQL während der Wartung regelmäßig Ihre Nebenversion.

MySQL 8.0 unterstützt jedoch kein Downgrade. Deshalb werden Upgrades von Nebenversionen nicht automatisch in die routinemäßige Wartung einbezogen. Sie können die Nebenversion für Cloud SQL for MySQL 8.0 beim Erstellen einer Instanz oder später durch einen Upgradeprozess angeben. Beide Vorgänge werden auf dieser Seite beschrieben.

Machen Sie sich mit den Änderungen vertraut, bevor Sie auf eine neue MySQL 8.0-Nebenversion aktualisieren. Siehe Versionshinweise für MySQL 8.0. Wenn Sie Cloud SQL for MySQL 5.6 oder 5.7 verwenden, verwaltet Cloud SQL automatisch die Nebenversion Ihrer Instanz. Wenn Sie eine neue Instanz bereitstellen, konfiguriert Cloud SQL Ihre Instanz automatisch mit der neuesten verfügbaren Datenbankversion. Während der routinemäßigen Wartung aktualisiert Cloud SQL Ihre Instanz automatisch auf die neueste unterstützte Version.

Zum Aktualisieren der Datenbank-Nebenversion Ihrer MySQL 8.0-Instanz müssen Sie die Instanz mit Ihrer bevorzugten Nebenversion aktualisieren. Diese muss größer sein als die installierte Nebenversion. Sie können eine nicht angegebene Nebenversion nicht wiederherstellen, nachdem eine Instanz bereitgestellt wurde.

Wenn Sie eine Instanz der Cloud SQL Enterprise Plus-Version verwenden, wird das Upgrade auf eine neue Nebenversion fast ohne Ausfallzeit abgeschlossen.

Vor dem Aktualisieren

Cloud SQL unterstützt ein Upgrade von Nebenversionen für MySQL 8.0-Instanzen. In MySQL 8.0 sind keine Downgrades zulässig. Führen Sie vor dem Upgrade Ihrer primären Instanz die folgenden Schritte aus, damit Ihre Daten sicher sind.

  1. Wählen Sie die Zielnebenversion der Datenbank aus.

    gcloud

    Informationen zur Installation und zu den ersten Schritten mit der gcloud CLI finden Sie unter gcloud CLI installieren. Informationen zum Starten von Cloud Shell finden Sie unter Cloud Shell verwenden.

    So prüfen Sie, welche Nebenversionen der Datenbank für ein direktes Upgrade verfügbar sind:

    1. Führen Sie den folgenden Befehl aus:
    2. gcloud sql instances describe INSTANCE_NAME
         

      Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz.

    3. Suchen Sie in der Ausgabe des Befehls nach dem Abschnitt mit der Bezeichnung upgradableDatabaseVersions.
    4. Jeder Abschnitt gibt eine Datenbankversion zurück, die für ein Upgrade verfügbar ist. Prüfen Sie in jedem Abschnitt das folgende Feld.
      • name: Der Datenbankversionsstring, der die Haupt- und Nebenversion der Datenbank enthält, auf die das In-Place-Upgrade der Cloud SQL for MySQL-Nebenversion ausgerichtet werden soll.

    REST Version 1

    Mit der Methode instances.get der Cloud SQL Admin API können Sie prüfen, welche Minorversionen der Datenbank für ein direktes Upgrade verfügbar sind.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • INSTANCE_NAME: ist der Name der Instanz.

    HTTP-Methode und URL:

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

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

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

    REST v1beta4

    Mit der Methode instances.get der Cloud SQL Admin API können Sie prüfen, welche Nebenversionen der Datenbank für ein direktes Upgrade verfügbar sind.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • INSTANCE_NAME: ist der Name der Instanz.

    HTTP-Methode und URL:

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

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

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

    Eine vollständige Liste der von Cloud SQL unterstützten Datenbankversionen finden Sie unter Datenbankversionen und Versionsrichtlinien.

  2. Testen Sie das Upgrade in einer Staging-Umgebung.

    1. Erstellen Sie einen Klon der Produktionsinstanz, der als Staging-Instanz dient. Dadurch wird eine neue Datenbankinstanz mit denselben Haupt- und Nebenversionen erstellt.

    2. Führen Sie ein Upgrade einer Nebenversion auf der Staging-Instanz durch.

    3. Führen Sie Arbeitslasttests durch, um zu prüfen, ob das Upgrade erfolgreich war und Ihre Anwendung wie erwartet funktioniert. Wenn die Tests erfolgreich sind, fahren Sie mit dem Upgrade der Lesereplikatinstanzen fort.

  3. Aktualisieren Sie Ihre Lesereplikate.

    1. Aktualisieren Sie alle Lesereplikate in der Datenbank auf die Zielnebenversion.

    2. Prüfen Sie, ob Ihre Anwendung wie erwartet funktioniert.

  4. Sichern Sie Ihre primäre Instanz.

    Wie bei jedem wichtigen Datenbankupdate sollten Sie eine Sicherung Ihrer primären Instanz erstellen.

Nebenversion aktualisieren

Sie können die Datenbank-Nebenversion einer vorhandenen Instanz mit gcloud oder der REST API angeben. Führen Sie Upgrades von Nebenversionen durch, wenn die Datenbank nicht verwendet wird. Wenn Ihre Instanz neu gestartet werden muss, kommt es zu einer Ausfallzeit. Bei Cloud SQL Enterprise Plus-Instanzen gibt es praktisch keine Ausfallzeiten. Wenn die installierte Version höher als die angeforderte Version ist, wird die Anfrage abgelehnt.

gcloud

Führen Sie den Befehl gcloud sql instances patch mit dem Flag --database-version aus.

Ersetzen Sie vor dem Ausführen des Befehls die folgenden Variablen:

  • INSTANCE_NAME: Name der Instanz
  • DATABASE_VERSION: Die Datenbankversion der Instanz. Wenn Sie dieses Flag nicht angeben, wird die Standardhauptversion verwendet.
gcloud sql instances patch INSTANCE_NAME \
   --database-version=DATABASE_VERSION

REST Version 1

Verwenden Sie eine PATCH-Anfrage mit der Methode instances:patch und dem Flag databaseVersion.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Projekt-ID
  • INSTANCE_ID: die Instanz-ID
  • DATABASE_VERSION: Die Datenbankversion, auf die aktualisiert werden soll.

HTTP-Methode und URL:

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

JSON-Text anfordern:

{
  "databaseVersion": "DATABASE_VERSION"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "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

Verwenden Sie eine PATCH-Anfrage mit der Methode instances:patch und dem Flag databaseVersion.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Projekt-ID
  • INSTANCE_ID: die Instanz-ID
  • DATABASE_VERSION: Die Datenbankversion, auf die aktualisiert werden soll.

HTTP-Methode und URL:

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

JSON-Text anfordern:

{
  "databaseVersion": "DATABASE_VERSION"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "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"
}

Installierte Datenbank-Nebenversion prüfen

Wenn Sie sich die zusammenfassenden Informationen zur Instanz ansehen, ist im Abschnitt "Konfiguration" die installierte Datenbank-Nebenversion sichtbar.

Rollback eines Upgrade durchführen

Wenn Sie beim Testen eines Upgrades ein Problem feststellen, möchten Sie möglicherweise ein Rollback Ihrer Datenbank durchführen, um die Datenbankinstanz wiederherzustellen, auf der die vorherige Nebenversion ausgeführt wird.

Führen Sie die folgenden Schritte aus, um eine Sicherung von vor dem Upgrade wiederherzustellen:

  1. Stellen Sie eine Wiederherstellungsdatenbankinstanz auf der vorherigen Nebenversion bereit.
  2. Konfigurieren Sie die Einstellungen für die Wiederherstellungsdatenbankinstanz vor dem Upgrade.
  3. Stellen Sie die Sicherung von vor dem Upgrade auf der Wiederherstellungsinstanz wieder her.

Als Alternative zur Wiederherstellung einer Sicherung können Sie eine Wiederherstellung zu einem bestimmten Zeitpunkt durchführen und eine neue Instanz erstellen.