MySQL-Nutzer

Auf dieser Seite wird beschrieben, wie die Arbeit in Cloud SQL mit MySQL-Nutzern funktioniert. MySQL-Nutzerkonten bieten Sicherheit, indem sie den Zugriff auf MySQL-Datenbanken kontrollieren.

Eine vollständige Beschreibung der MySQL-Nutzer finden Sie in der MySQL-Dokumentation. Weitere Informationen zum Erstellen und Verwalten von Cloud SQL-Nutzern finden Sie unter Nutzer erstellen und verwalten.

Vorteile von MySQL-Nutzerkonten

Mithilfe von MySQL-Nutzerkonten können Sie sich an Ihrer Cloud SQL-Instanz anmelden und diese verwalten. Nutzerkonten werden auch benötigt, damit Anwendungen auf Ihre Instanz zugreifen können.

Superuser-Einschränkungen

Da Cloud SQL for MySQL ein verwalteter Dienst ist, wird der Zugriff auf bestimmte Systemprozeduren und -tabellen eingeschränkt, für die erweiterte Berechtigungen erforderlich sind. In Cloud SQL können Kunden keine Nutzer mit Superuser-Attributen erstellen oder darauf zugreifen.

MySQL-Nutzerkonto-Format

MySQL-Nutzerkonten bestehen aus zwei Komponenten: einem Nutzernamen und einem Hostnamen. Der Nutzername identifiziert den Nutzer, der Hostname gibt an, von welchen Hosts aus der Nutzer eine Verbindung herstellen darf. Die Kombination aus Nutzername und Hostname wird verwendet, um ein Nutzerkonto zu erstellen:

'<user_name>'@'<host_name>'

Sie können eine bestimmte IP-Adresse oder einen -Adressbereich für den Hostnamen angeben oder das Prozentzeichen (%) verwenden, um alle Hostnamen zuzulassen. Beachten Sie beim Herstellen einer Verbindung zu der Instanz mithilfe von IP-Adressen, dass Sie auch dann die IP-Adresse des Clients als Autorisierte Adresse hinzufügen müssen, wenn Sie für den Nutzer alle Hostnamen zulassen.

Nutzerkonten werden sowohl durch den Nutzernamen als auch den Hostnamen definiert. Beispiel: 'root'@'%' ist ein anderes Nutzerkonto als 'root'@'localhost'.

Standard-MySQL-Nutzer

MySQL-Instanzen haben ein Standardnutzerkonto: 'root'@'%'.

Administratorkonto

Konfigurieren Sie das Standardnutzerkonto für eine neue Instanz, damit Sie auf die Instanz zugreifen können. Der Einfachheit halber wird das Standardnutzerkonto so konfiguriert, dass es sich von jedem Host aus verbinden kann:

'root'@'%'

Der Root-Nutzer hat alle Berechtigungen außer SUPER und FILE.

Konfigurieren Sie den root-Nutzer mit einem starken Passwort. Da es in den meisten MySQL-Installationen vorhanden ist, bietet das root-Nutzerkonto ein häufiges Ziel für unbefugten Zugriff. Jede Person oder jedes Programm, die bzw. das so Zugriff auf die Instanz erhält, kann fast unbegrenzt auf die Instanz und Ihre Daten zugreifen und diese steuern. Hilfe zur Konfiguration root Nutzerkonto finden Sie unter root-Nutzerkonto konfigurieren.

Systemnutzer

Es gibt zwei Systemnutzer:

  • cloudsqlimport@localhost

    Wird für Datenimporte verwendet.

  • cloudsqlreplica@%

    Wird als Replikationsnutzer für Replikate verwendet.

Sie können diese Nutzer weder löschen noch ändern.

Andere MySQL-Nutzerkonten

Sie können auch andere MySQL-Nutzerkonten erstellen; das ist sinnvoll, weil dies die Verwendung von verschiedenen Konten für verschiedene Zwecke ermöglicht. Sie können auch ein root-Konto mit einem eingeschränkten Hostnamen erstellen oder die Rechte für Ihre Nutzerkonten einschränken.

Weitere Informationen zu Nutzerkontennamen finden Sie in der MySQL-Dokumentation.

Nutzerberechtigungen für MySQL 5.6 und 5.7

MySQL bietet fein abgestufte Berechtigungen, die Sie Nutzern gewähren oder entziehen können. Dies ermöglicht Ihnen die Kontrolle darüber, was ein Nutzer auf der Instanz tun darf.

Mit Cloud SQL erstellte Nutzer haben die gleichen Berechtigungen wie der root-Nutzer. Sie können ihre Berechtigungen mit den Anweisungen GRANT oder REVOKE ändern.

Wenn Sie einen Nutzer mit dem mysql-Client erstellen, müssen Sie ihm mit der Anweisung GRANT explizit Berechtigungen zuweisen.

Weitere Informationen zu den Rechten, die von MySQL unterstützt werden, finden Sie in MySQL – Unterstützte Rechte.

MySQL 8.0-Nutzerberechtigungen (cloudsqlsuperuser)

Wenn Sie in MySQL 8.0 for Cloud SQL einen neuen Nutzer erstellen, wird diesem automatisch die Rolle "cloudsuperuser" zugewiesen. Die Rolle "cloudsqlsuperuser" ist eine Cloud SQL-Rolle, die eine Reihe von MySQL-Berechtigungen enthält. Diese Rolle gewährt dem Nutzer alle statischen Berechtigungen, außer SUPER und FILE.

Die Rolle "cloudsqlsuperuser" umfasst nur die folgenden dynamischen Berechtigungen:

Die Rolle "cloudsqlsuperuser" unterstützt keine DDL-Vorgänge (Data Definition Language) für die MySQL-Datenbank.

Wenn Sie eine vollständige Liste der Berechtigungen sehen möchten, die der Rolle "cloudsqlsuperuser" zugewiesen sind, führen Sie im mysql-Client die Anweisung SHOW GRANTS aus:

SHOW GRANTS FOR 'cloudsqlsuperuser'

Nächste Schritte