Cloud SQL für MySQL-Features

Auf dieser Seite werden die wichtigsten Features und Funktionen von Cloud SQL for MySQL beschrieben. Cloud SQL ist auch für PostgreSQL und SQL Server verfügbar.

MySQL-Features nach Cloud SQL-Versionen

Weitere Informationen zu den Funktionen der Cloud SQL Enterprise Plus- und Cloud SQL Enterprise-Version von Cloud SQL for MySQL finden Sie unter Einführung in die Cloud SQL-Versionen.

Allgemeine MySQL-Features, die für Cloud SQL unterstützt werden

  • Vollständig verwaltete MySQL Community Edition-Datenbanken in der Cloud.
  • Instanzen sind in Nord- und Südamerika, der EU, Australien und Asien verfügbar. Hier finden Sie alle Standorte, an denen Sie Cloud SQL-Instanzen erstellen können.
  • Unterstützt die Migration von Quelldatenbanken zu Cloud SQL-Zieldatenbanken mit dem Database Migration Service (DMS).
  • Kundendaten werden in internen Netzwerken von Google sowie in Datenbanktabellen, temporären Dateien und Sicherungskopien verschlüsselt.
  • Unterstützung sicherer externer Verbindungen mit dem Cloud SQL Auth-Proxy oder mit dem SSL/TLS-Protokoll.
  • Unterstützung für private IP-Adresse (Zugriff auf private Dienste).
  • Datenreplikation zwischen mehreren Zonen* mit automatischem Failover.
  • Import und Export von Datenbanken mithilfe von mysqldump oder Import und Export von CSV-Dateien.
  • Unterstützung des MySQL Wire Protocol und der Standard-MySQL-Konnektoren.
  • Automatische Sicherungen, Sicherungen nach Bedarf und Wiederherstellung zu einem bestimmten Zeitpunkt.
  • Klonen von Instanzen.
  • Einbindung in das Logging und Monitoring von Google Cloud Observability.
  • ISO/IEC-27001-konform.

* Die Regionen Mexiko, Montreal und Osaka haben drei Zonen in einem oder zwei physischen Rechenzentren. In diesen Regionen wird derzeit auf mindestens drei physische Rechenzentren erweitert. Weitere Informationen finden Sie unter Cloudstandorte und SLAs für die Google Cloud Platform. Um die Zuverlässigkeit Ihrer Arbeitslasten zu verbessern, sollten Sie eine mehrere Regionen umfassende Bereitstellung in Betracht ziehen.

Für Cloud SQL for MySQL unterstützte Anwendungssprachen

Sie können Cloud SQL mit App Engine-Anwendungen verwenden, die in einer flexiblen Umgebung ausgeführt werden und geschrieben sind in:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Außerdem können Sie Cloud SQL mit externen Anwendungen nutzen, die das MySQL-Standardprotokoll verwenden.

Verbindungen mit Cloud SQL-Instanzen für MySQL herstellen

Hierüber können Sie eine Verbindung zu einer Cloud SQL-Instanz herstellen:

Die Verbindung zu Cloud SQL mit privatem Google-Zugriff wird nicht unterstützt. Der Zugriff auf private Dienste wird unterstützt. Weitere Informationen finden Sie unter Optionen für den privaten Zugriff.

Nutzerverwaltung in Cloud SQL for MySQL 8.0

Aufgrund von Änderungen in MySQL 8.0 können Sie CREATE- oder DELETE-Anweisungen für die MySQL-Nutzerverwaltung nicht verwenden. Außerdem können Sie Nutzerberechtigungen nicht mithilfe der Anweisungen INSERT, UPDATE oder DELETE ändern. Verwenden Sie stattdessen die Anweisungen CREATE USER, DROP USER, GRANT und REVOKE, um die Nutzerberechtigungen zu ändern. Weitere Informationen finden Sie unter Account Management Notes.

Hinweis: Ignorieren Sie Informationen unter "Account management notes" zum Ausführen von mysql_upgrade für ein Upgrade auf Version 8.0. Führen Sie stattdessen ein Upgrade anhand von MySQL-Upgrade für eine Instanz durchführen aus.

Unterschiede zwischen Standard-MySQL und Cloud SQL for MySQL

Im Allgemeinen entspricht der MySQL-Funktionsumfang, den eine Cloud SQL-Instanz bereitstellt, dem einer lokal gehosteten MySQL-Instanz. Es gibt jedoch einige Unterschiede zwischen einer Standard-MySQL-Instanz und einer Cloud SQL-Instanz.

Nicht unterstützte MySQL-Features für Cloud SQL

Das folgende Feature wird für Cloud SQL for MySQL 5.6 und 5.7 nicht unterstützt:

  • Die SUPER-Berechtigung

Die folgenden Features werden für Cloud SQL for MySQL 8.0 nicht unterstützt:

Das folgende Feature wird für Cloud SQL for MySQL 8.4 nicht unterstützt:

Außerdem werden in Cloud SQL for MySQL die folgenden Berechtigungen nicht gewährt, die in MySQL 8.4 eingeführt wurden:

Nicht für Cloud SQL unterstützte MySQL-Plug-ins

Nicht für Cloud SQL unterstützte MySQL-Anweisungen

Die folgenden SQL-Anweisungen erzeugen einen Fehler mit der Nachricht Error 1290: The MySQL server is running with the Google option so it cannot execute this statement:

  • LOAD DATA INFILE

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

Die folgenden Anweisungen werden nicht unterstützt, weil MySQL-Instanzen GTID-Replikation verwenden:

  • CREATE TABLE ... SELECT-Anweisungen
  • Transaktionen oder Anweisungen, die sowohl transaktionale als auch nicht transaktionale Tabellen aktualisieren

Die folgende MySQL-Anweisung wird in Cloud SQL for MySQL 5.6 und 5.7 nicht unterstützt. In Cloud SQL for MySQL 8.0 wird sie jedoch unterstützt.

  • CREATE TEMPORARY TABLE-Anweisungen innerhalb von Transaktionen

Weitere Informationen finden Sie in der MySQL-Dokumentation.

Nicht für Cloud SQL unterstützte MySQL-Funktionen

  • LOAD_FILE()

Nicht unterstützte Features des MySQL-Clientprogramms für Cloud SQL

  • mysqldump mit der Option --tab oder Optionen, die mit --tab verwendet werden. Der Grund hierfür ist, dass die Berechtigung FILE nicht an Instanznutzer vergeben wird. Alle anderen mysqldump-Optionen werden unterstützt. Informationen zur Verwendung der mysqldump-Optionen, die Ihre Datei für den Import in Cloud SQL optimieren, finden Sie unter Von lokalem MySQL-Server mit mysqldump exportieren.

  • mysqlimport ohne die Option --local. Dies liegt an der Beschränkung LOAD DATA INFILE. Informationen zum Importieren von Daten in Ihre Cloud SQL-Instanz finden Sie unter Mithilfe einer Dumpdatei importieren oder Mithilfe einer CSV-Datei importieren.

  • Wenn Sie Datenbanken mit Binärdaten in Ihre Cloud SQL for MySQL-Instanz importieren möchten, müssen Sie die Option --hex-blob mit mysqldump verwenden.

    Wenn Sie eine lokale MySQL-Serverinstanz und den mysql-Client verwenden, ist hex-blob kein erforderliches Flag. Es ist jedoch erforderlich, wenn Sie beliebige Datenbanken mit Binärdaten in Ihre Cloud SQL-Instanz importieren möchten. Informationen zum Importieren von Daten in Ihre Cloud SQL-Instanz finden Sie unter Mithilfe einer Dumpdatei importieren oder Mithilfe einer CSV-Datei importieren.

  • Nicht alle MySQL-Optionen und -Parameter können als Cloud SQL-Flags bearbeitet werden.

    Das Hinzufügen eines konfigurierbaren Cloud SQL-Flags können Sie über die Cloud SQL-Diskussionsgruppe anfordern.

  • InnoDB ist die einzige unterstützte Speicher-Engine. Informationen zum Konvertieren von Tabellen von MyISAM zu InnoDB finden Sie in der MySQL-Dokumentation im Artikel Tabelle in InnoDB konvertieren.

Voreingestellte MySQL-Optionen für Cloud SQL

Über Cloud SQL wird MySQL mit einem bestimmten Satz von Optionen ausgeführt. Wenn sich eine Option möglicherweise auf die Funktionsweise Ihrer Anwendungen auswirkt, erhalten Sie hier einen entsprechenden Hinweis.

skip-name-resolve

Dieses Flag hat Einfluss darauf, wie Hostnamen für Clientverbindungen aufgelöst werden. Weitere Informationen finden Sie in der MySQL-Dokumentation unter skip-name-resolve.

log_bin

Dieses Flag gibt an, ob das binäre Logging aktiviert ist. Wenn die Option --log-bin verwendet wird, lautet der Wert dieser Variable ON. Andernfalls ist es OFF. Siehe log_bin in der MySQL-Dokumentation.

MySQL-Authentifizierung

In diesem Abschnitt werden die Änderungen an der integrierten MySQL-Authentifizierung beschrieben.

Standard-Authentifizierungs-Plug-in für MySQL 8.0

Cloud SQL for MySQL 8.0 verwendet mysql_native_password als Standard-Authentifizierungs-Plug-in für neue Nutzer anstelle von caching_sha2_password. Das Plug-in mysql_native_password ist die Standardeinstellung für Nutzer von MySQL 5.6 und 5.7.

Wenn neue Nutzer das Plug-in caching_sha2_password als Standardauthentifizierung verwenden sollen, können Sie Ihr Instanz-Flag für default_authentication_plugin so konfigurieren, dass caching_sha2_password verwendet wird.

Wenn Sie vorhandene Nutzer für die Verwendung von caching_sha2_password konfigurieren möchten, ändern Sie das Authentifizierungs-Plug-in mit dem Befehl ALTER USER.

Nutzer mit der caching_sha2_password-Authentifizierung müssen bei der Verbindung möglicherweise das Flag get-server-public-key verwenden. Weitere Informationen finden Sie unter SHA-2-Pluggable-Authentifizierung im Cache speichern in der MySQL-Dokumentation.

Standard-Authentifizierungs-Plug-in für MySQL 8.4

Ab Cloud SQL for MySQL 8.4 ist das caching_sha2_password-Plug-in das Standard-Authentifizierungs-Plug-in. Alle internen Nutzer und neuen Nutzerkonten, die Sie erstellen, verwenden das caching_sha2_password-Plug-in für die Authentifizierung. Cloud SQL for MySQL 8.4 unterstützt weiterhin bestehende Cloud SQL-Nutzerkonten, die das mysql_native_password-Plug-in verwenden. Diese bestehenden Konten können auch nach dem Upgrade der Instanzen auf MySQL 8.4 weiterhin eine Verbindung zu Cloud SQL for MySQL-Instanzen herstellen.

In Cloud SQL for MySQL 8.4 wird das mysql_native_password-Authentifizierungs-Plug-in nicht mehr unterstützt. Jeder Versuch, ein neues Nutzerkonto mit dem eingestellten mysql_native_password-Authentifizierungs-Plug-in zu erstellen, führt zu einem Fehler. Sie können die authentication_policy eines Kontos in Cloud SQL for MySQL 8.4 nicht so festlegen, dass mysql_native_password verwendet wird.

Wenn Sie Ihre vorhandenen Datenbanknutzerkonten so ändern möchten, dass sie das Authentifizierungs-Plug-in caching_sha2_password verwenden, verwenden Sie den folgenden Befehl:

ALTER USER 'username'@'%'
IDENTIFIED WITH caching_sha2_password BY 'user_password';

Ersetzen Sie username und user_password durch die Werte des Nutzerkontos, das Sie aktualisieren.

Weitere Informationen zu den Auswirkungen dieser Änderung auf die Kompatibilität zwischen Servern, Clients und Connectors finden Sie unter caching_sha2_password as the Preferred Authentication Plugin.

Änderungen an MySQL-System-Flags in Cloud SQL

Für einige MySQL-System-Flags verwendet Cloud SQL Werte, die sich von den Standardwerten unterscheiden. Sie können die Werte für diese Flags nicht ändern. Eine Liste der Flags finden Sie unter In Cloud SQL geänderte System-Flags.

Cloud SQL-Features, die in Cloud SQL for MySQL 8.0 und höher nicht unterstützt werden

Cloud SQL for MySQL 8.0 und höher unterstützen nicht die Legacy-Cloud SQL for MySQL-Hochverfügbarkeitskonfiguration, die Failover-Replikate verwendet. Cloud SQL for MySQL 8.0 und höher unterstützen nur die regionale Hochverfügbarkeitskonfiguration.