Heim >Datenbank >MySQL-Tutorial >So erstellen Sie Benutzer und erteilen Berechtigungen in MySQL
Wie erstelle ich einen MySQL-Benutzer und erteile Berechtigungen? Für eine gute Sicherheit müssen für jede Anwendung separate Benutzerkonten erstellt werden, anstatt als Root auf die Datenbank zuzugreifen. Dadurch wird sichergestellt, dass Anwendungen nicht auf die Datenbanken anderer Anwendungen zugreifen können. Daher sind MySQL-Administratorrechte (Root) erforderlich, um Benutzerkonten zu erstellen und Berechtigungen für die Datenbank zuzuweisen.
Zur Information: Das MySQL-Root-Konto unterscheidet sich vom System-Root-Konto und es besteht keine Beziehung zwischen ihnen. (Verwandte Empfehlungen: MySQL-Tutorial)
1. Erstellen Sie einen neuen Benutzer in MySQL
Melden Sie sich mit dem Root-Benutzer beim MySQL-Server an Shell-Zugriff und erstellen Sie einen neuen Benutzer namens „rahul“. Der folgende Befehl ermöglicht nur den Zugriff auf den MySQL-Server des Benutzers rahul vom localhost-System aus.
mysql> CREATE USER 'rahul'@'localhost' IDENTIFIED BY 'password';
Geben Sie nun Berechtigungen für bestimmte Datenbanken zu. Mit dem folgenden Befehl erhält der Benutzer rahul alle Berechtigungen für die Datenbank „mydb“.
mysql> GRANT ALL ON mydb.* TO 'rahul'@'localhost';
Nachdem Sie den Benutzer erstellt und die entsprechenden Berechtigungen zugewiesen haben, stellen Sie sicher, dass Sie die Berechtigungen neu laden.
mysql> FLUSH PRIVILEGES;
2. Erstellen Sie einen remote zugänglichen MySQL-Benutzer
Erlauben Sie jedem Benutzer, von einem Remote-System aus eine Verbindung zum MySQL-Server herzustellen. Sie müssen den Hostnamen oder die IP-Adresse des Remote-Systems angeben. Sie können auch % verwenden, um jedem Host
mysql> CREATE USER 'rahul'@'123.45.67.89' IDENTIFIED BY 'password'; mysql> CREATE USER 'rahul'@'%' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;
zu erlauben. 3. Erteilen Sie bestimmte Benutzerberechtigungen in MySQL.
Im Folgenden finden Sie eine Liste allgemeiner Berechtigungen für MySQL-Benutzer. Besuchen Sie hier für eine vollständige Liste der Berechtigungen für MySQL-Benutzer.
ALLE [PRIVILEGES] – Gewährt dem Benutzer alle Berechtigungen.
ERSTELLEN – Gewährt dem Benutzer die Berechtigung, neue Datenbanken und Tabellen zu erstellen.
DROP – Gewährt dem Benutzer die Berechtigung, Datenbanken und Tabellen zu löschen.
LÖSCHEN – Gewährt dem Benutzer die Berechtigung, Zeilen in der Tabelle zu löschen.
ALTER – Gewährt dem Benutzer die Berechtigung, die Tabellenstruktur zu ändern.
INSERT – Gewährt dem Benutzer die Berechtigung, Zeilen in die Tabelle einzufügen (hinzufügen).
SELECT – Gewährt dem Benutzer die Berechtigung, den Auswahlbefehl auszuführen, um Daten aus der Tabelle zu lesen.
UPDATE – Gewährt dem Benutzer die Berechtigung, Daten in der Tabelle zu aktualisieren.
AUSFÜHREN – Gewährt dem Benutzer die Berechtigung, die gespeicherte Routine auszuführen.
DATEI – Gewährt dem Benutzer Zugriff auf Dateien auf dem Serverhost.
OPTION GEWÄHREN – Gewährt einem Benutzer die Möglichkeit, anderen Benutzern Berechtigungen zu erteilen oder zu entziehen.
Hier können Sie durch Kommas getrennte Berechtigungen anstelle aller Berechtigungen angeben. Erlauben Sie beispielsweise den CREATE-, DELETE-, INSERT- und UPDATE-Zugriff auf „rahul“@„localhost“ in der Datenbank mydb.
mysql> GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
4. Benutzerberechtigungen in MySQL widerrufen
Verwenden Sie den REVOKE-Befehl, um bestimmte Berechtigungen vom Benutzer zu entfernen. Entfernen Sie beispielsweise die DELETE-Berechtigung vom Benutzer „rahul“@„localhost“ in der Datenbank „mydb“.
mysql> REVOKE DELETE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
5. Benutzer in MySQL löschen
Mit dem DROP-Befehl können Sie jeden Benutzer aus MySQL löschen. Um beispielsweise den Benutzer „rahul“@„localhost“ zu löschen, können Sie den folgenden Befehl verwenden.
mysql> DROP USER 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
Das obige ist der detaillierte Inhalt vonSo erstellen Sie Benutzer und erteilen Berechtigungen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!