Der MySQL-Benutzer ist ein Eintrag im BENUTZER Tabelle des MySQL-Servers, die die Anmeldeinformationen, Kontoberechtigungen und die Hostinformationen für das MySQL-Konto enthält. Für den Zugriff und die Verwaltung der Datenbanken ist es unbedingt erforderlich, in MySQL einen Benutzer anzulegen.
Mit der MySQL Create User-Anweisung können wir ein neues Benutzerkonto auf dem Datenbankserver erstellen. Es bietet Authentifizierungs-, SSL/TLS-, Ressourcenlimit-, Rollen- und Passwortverwaltungseigenschaften für die neuen Konten. Außerdem können wir damit steuern, welche Konten zunächst gesperrt oder entsperrt werden sollen.
Wenn Sie die Funktion „Benutzer erstellen“ verwenden möchten, ist ein erforderlich global Berechtigung der Create User-Anweisung oder der EINFÜGEN Privileg für das MySQL-Systemschema. Wenn Sie einen Benutzer erstellen, der bereits vorhanden ist, wird eine Fehlermeldung ausgegeben. Aber wenn Sie verwenden, WENN NICHT EXISTIERT -Klausel gibt die Anweisung für jeden bereits vorhandenen benannten Benutzer eine Warnung anstelle einer Fehlermeldung aus.
Warum benötigten Benutzer einen MySQL-Server?
Wenn die Installation des MySQL-Servers abgeschlossen ist, wird eine angezeigt WURZEL Benutzerkonto nur für den Zugriff und die Verwaltung der Datenbanken. Manchmal möchten Sie jedoch anderen Zugriff auf die Datenbank gewähren, ohne ihnen die volle Kontrolle zu gewähren. In diesem Fall erstellen Sie einen Nicht-Root-Benutzer und erteilen ihm bestimmte Berechtigungen für den Zugriff und die Änderung der Datenbank.
Syntax
Die folgende Syntax wird zum Erstellen eines Benutzers auf dem Datenbankserver verwendet.
jdbc
CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';
In der obigen Syntax ist die Kontoname besteht aus zwei Teilen, einer ist der Nutzername , und ein anderer ist der Hostname , das durch getrennt wird @ Symbol. Hierbei ist der Benutzername der Name des Benutzers und der Hostname der Name des Hosts, von dem aus der Benutzer eine Verbindung zum Datenbankserver herstellen kann.
username@hostname
Der Hostname ist optional. Wenn Sie den Hostnamen nicht angegeben haben, kann der Benutzer von jedem Host auf dem Server aus eine Verbindung herstellen. Der Benutzerkontoname ohne Hostnamen kann wie folgt geschrieben werden:
username@%
Hinweis: Mit „Benutzer erstellen“ wird ein neuer Benutzer mit vollem Zugriff erstellt. Wenn Sie dem Benutzer also Berechtigungen erteilen möchten, müssen Sie die GRANT-Anweisung verwenden.
MySQL CREATE USER-Beispiel
Im Folgenden sind die Schritte aufgeführt, die zum Erstellen eines neuen Benutzers in der MySQL-Serverdatenbank erforderlich sind.
Schritt 1: Öffnen Sie den MySQL-Server mit MySQL-Client-Tool .
Schritt 2: Geben Sie das Passwort für das Konto ein und drücken Sie die Eingabetaste.
nicht deterministische endliche Automaten
Enter Password: ********
Schritt 3: Führen Sie den folgenden Befehl aus, um alle Benutzer auf dem aktuellen MySQL-Server anzuzeigen.
mysql> select user from mysql.user;
Wir erhalten die folgende Ausgabe:
Schritt 4: Erstellen Sie mit dem folgenden Befehl einen neuen Benutzer.
mysql> create user peter@localhost identified by 'jtp12345';
Führen Sie nun den Befehl aus, um alle Benutzer erneut anzuzeigen.
In der obigen Ausgabe können wir sehen, dass der Benutzer Peter wurde erfolgreich erstellt.
npm sauberer Cache
Schritt 5: Jetzt verwenden wir die IF NOT EXISTS-Klausel mit der CREATE USER-Anweisung.
mysql> CREATE USER IF NOT EXISTS adam@localhost IDENTIFIED BY 'jtp123456';
Gewähren Sie dem neuen MySQL-Benutzer Berechtigungen
Der MySQL-Server bietet einem neuen Benutzerkonto mehrere Arten von Berechtigungen. Nachfolgend sind einige der am häufigsten verwendeten Berechtigungen aufgeführt:
Wenn Sie einem neu erstellten Benutzer alle Berechtigungen erteilen möchten, führen Sie den folgenden Befehl aus.
mysql> GRANT ALL PRIVILEGES ON * . * TO peter@localhost;
Wenn Sie einem neu erstellten Benutzer bestimmte Berechtigungen erteilen möchten, führen Sie den folgenden Befehl aus.
Webbrowser-Einstellungen
mysql> GRANT CREATE, SELECT, INSERT ON * . * TO peter@localhost;
Manchmal möchte man es spülen Um alle Berechtigungen eines Benutzerkontos für Änderungen sofort zu erhalten, geben Sie den folgenden Befehl ein.
FLUSH PRIVILEGES;
Wenn Sie die vorhandenen Berechtigungen für den Benutzer sehen möchten, führen Sie den folgenden Befehl aus.
mysql> SHOW GRANTS for username;