Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Benutzerberechtigungen

Sehen wir uns an, wie man einem Benutzer der MySQL-Datenbank Berechtigungen (sogenannte Privilegien) erteilt

Standardmäßig beim Erstellen eines neuen MySQL-Benutzers mit der Syntax

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

Der Benutzer kann nicht viel tun. Wir können sagen, dass es eigentlich nichts kann.

Es kann keine Daten aus einer vorhandenen Datenbank lesen, geschweige denn die Daten ändern. Und es kann nicht einmal eine neue Datenbank erstellen.

Damit ein Benutzer irgendetwas tun kann, müssen Sie ihm Berechtigungen gewähren dazu.

Sie können dies mit dem GRANT tun Befehl.

Wir können GRANT <permission> verwenden , indem Sie die folgenden Berechtigungsschlüsselwörter verwenden:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

Erteilen Sie einem Benutzer das Recht, neue Datenbanken zu erstellen

GRANT CREATE ON *.* TO '<username>'@'localhost';

Geben Sie einem Benutzer Privilegien, um neue Tabellen in einer bestimmten Datenbank zu erstellen

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

Geben Sie einem Benutzer das Recht, eine bestimmte Datenbank zu lesen (abzufragen)

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

Geben Sie das Recht, eine bestimmte Datenbanktabelle zu lesen an einen Benutzer

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

Geben Sie das Recht, Zeilen in einer bestimmten Datenbank einzufügen, zu aktualisieren und zu löschen ein Benutzer

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

Erteilen Sie einem Benutzer das Recht, Tabellen in einer bestimmten Datenbank zu löschen

GRANT DROP ON <database>.* TO '<username>'@'localhost';

Erteilen Sie einem Benutzer das Recht, Datenbanken zu löschen

GRANT DROP ON *.* TO '<username>'@'localhost';

Geben Sie einem Benutzer alle Berechtigungen für eine bestimmte Datenbank

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

Gib einem Benutzer alle Privilegien

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Eine Berechtigung widerrufen

Beispiel zum Widerrufen des DROP Berechtigung für <database> :

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

Führen Sie zum Widerrufen aller Berechtigungen Folgendes aus:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Sie können die Berechtigungen eines einzelnen Benutzers anzeigen, indem Sie Folgendes ausführen:

SHOW GRANTS FOR '<username>'@'localhost';