So verwenden Sie den MySQL-Autorisierungsbefehl „grant“

So verwenden Sie den MySQL-Autorisierungsbefehl „grant“

Die Beispiele in diesem Artikel laufen auf MySQL 5.0 und höher.

Das einfache Format des MySQL-Befehls zum Erteilen von Benutzerberechtigungen kann wie folgt zusammengefasst werden:

Benutzern Berechtigungen für Datenbankobjekte erteilen

1. Gewähren Sie normalen Datenbenutzern die Rechte zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in allen Tabellen der Datenbank.

gewähre common_user@'%' select für testdb.*
gewähre common_user@'%' das Einfügen in testdb.*
gewähre common_user@'%' eine Aktualisierung von testdb.*
gewähre common_user@'%' das Löschen von testdb.*

Oder verwenden Sie stattdessen einen MySQL-Befehl:

gewähre common_user@'%' select, insert, update, delete auf testdb.*

2. Erteilen Sie Datenbankentwicklern die Genehmigung, Tabellen, Indizes, Ansichten, gespeicherte Prozeduren und Funktionen zu erstellen. . . Und andere Berechtigungen.

Erteilen Sie Berechtigungen zum Erstellen, Ändern und Löschen von MySQL-Tabellenstrukturen.

gewähre Entwickler@'192.168.0.%' die Erstellung von testdb.*;
gewähre Entwickler@'192.168.0.%' Änderungen an testdb.*;
Gewähren Sie Drop auf testdb.* an developer@'192.168.0.%';

Erteilen Sie Berechtigungen zum Bedienen von MySQL-Fremdschlüsseln.

Gewähren Sie Referenzen auf testdb.* an developer@'192.168.0.%'.

Erteilen Sie Berechtigungen zum Bedienen temporärer MySQL-Tabellen.

Berechtigung zum Erstellen temporärer Tabellen auf testdb.* an developer@'192.168.0.%';

Erteilen Sie Berechtigungen zum Bedienen von MySQL-Indizes.

Gewähren Sie dem Entwickler@'192.168.0.%' einen Index für testdb.*.

Erteilen Sie Berechtigungen zum Bedienen von MySQL-Ansichten und zum Anzeigen des Quellcodes.

Gewähren Sie developer@'192.168.0.%' die Möglichkeit, die Ansicht für testdb.* zu erstellen.
Gewähren Sie developer@'192.168.0.%' die Anzeige der Ansicht von testdb.*.

Erteilen Sie Berechtigungen zum Ausführen von gespeicherten MySQL-Prozeduren und -Funktionen.

grant create routine on testdb.* to developer@'192.168.0.%'; -- jetzt können Sie den Prozedurstatus anzeigen
grant alter routine on testdb.* to developer@'192.168.0.%'; -- jetzt können Sie eine Prozedur löschen
Gewähren Sie die Ausführung von testdb.* für developer@'192.168.0.%'.

3. Erteilen Sie einem normalen DBA die Berechtigung, eine MySQL-Datenbank zu verwalten.

erteile dba@'localhost' alle Privilegien für testdb

Das Schlüsselwort „Privilegien“ kann weggelassen werden.

4. Erteilen Sie dem Senior-DBA Berechtigungen zum Verwalten aller Datenbanken in MySQL.

gewähre alles auf *.* an dba@'localhost'

5. MySQL-Berechtigungen können auf mehreren Ebenen angewendet werden.

1. Der Grant gilt für den gesamten MySQL-Server:

grant select on *.* to dba@localhost; – dba kann Tabellen in allen Datenbanken in MySQL abfragen.
grant all on *.* to dba@localhost; -- dba kann alle Datenbanken in MySQL verwalten

2. Der Zuschuss wird auf eine einzelne Datenbank angewendet:

gewähren Sie dba@localhost „select“ für testdb.*; – dba kann Tabellen in testdb abfragen.

3. Grant wirkt auf einer einzelnen Datentabelle:

Gewähren Sie dba@localhost die Berechtigungen „Auswählen“, „Einfügen“, „Aktualisieren“ und „Löschen“ für testdb.orders.

Wenn hier mehrere Tabellen für einen Benutzer autorisiert werden, kann die obige Anweisung mehrmals ausgeführt werden. Zum Beispiel:

Gewähren Sie „select(user_id,username)“ für smp.users an mo_user@'%', identifiziert durch „123345“.
Gewähren Sie mo_user@'%', identifiziert durch '123345', die Auswahl für smp.mo_sms.

4. Grant wirkt auf die Spalten in der Tabelle:

gewähren Sie select(id, se, rank) auf testdb.apache_log an dba@localhost;

5. Gewähren Sie Aktionen für gespeicherte Prozeduren und Funktionen:

Gewähren Sie die Ausführung der Prozedur testdb.pr_add an „dba“@„localhost“.
Gewähren Sie die Ausführung der Funktion testdb.fn_add für „dba“@„localhost“.

6. Überprüfen Sie die MySQL-Benutzerberechtigungen

Zeigen Sie die (Ihren eigenen) Berechtigungen des aktuellen Benutzers an:

Zuschüsse anzeigen;

Andere MySQL-Benutzerberechtigungen anzeigen:

Berechtigungen für dba@localhost anzeigen;

7. Widerrufen Sie die Berechtigungen, die dem MySQL-Benutzer erteilt wurden.

Die Syntax von „revocation“ ähnelt der von „grant“, außer dass das Schlüsselwort „to“ durch „from“ ersetzt wird:

gewähre dba@localhost alles auf *.*;
widerrufe alles auf *.* von dba@localhost;

8. Hinweise zum Erteilen und Entziehen von Benutzerberechtigungen in MySQL

1. Nachdem Sie Benutzerberechtigungen erteilt oder widerrufen haben, werden die Berechtigungen erst wirksam, wenn der Benutzer erneut eine Verbindung zur MySQL-Datenbank herstellt.

2. Wenn Sie möchten, dass der autorisierte Benutzer diese Berechtigungen anderen Benutzern erteilen kann, benötigen Sie die Option „Option erteilen“

Gewähren Sie dba@localhost die Auswahl für testdb.* mit der Gewährungsoption.

Diese Funktion wird im Allgemeinen nicht verwendet. In der Praxis werden Datenbankberechtigungen am besten zentral vom DBA verwaltet.

Oben finden Sie Einzelheiten zur Verwendung des Autorisierungsbefehls Grant in MySQL. Weitere Informationen zum MySQL-Autorisierungsbefehl Grant finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Befehl zur Erteilung von Berechtigungen in der MySQL-Verwaltung zum Erstellen von Notizen
  • Detaillierte Erklärung des MySQL Grant-Befehls
  • Zusammenfassung zur Verwendung des MySQL-Autorisierungsbefehls „grant“

<<:  Detaillierte Erklärung zur Verwendung der Stat-Funktion und des Stat-Befehls in Linux

>>:  JavaScript zur Implementierung der umfassendsten Codeanalyse eines einfachen Einkaufswagens (ES6 objektorientiert)

Artikel empfehlen

Tiefgreifendes Verständnis der CSS @font-face-Leistungsoptimierung

In diesem Artikel werden hauptsächlich allgemeine...

Nginx-Zugriffssteuerungs- und Parameteroptimierungsmethoden

Globale Nginx-Variablen Es gibt viele globale Var...

Vue verwendet el-table, um Spalten und Zeilen dynamisch zusammenzuführen

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie „Explain“, um den SQL-Ausführungsplan in MySql abzufragen

Der Befehl „Explain“ ist die primäre Möglichkeit,...

Installations-Tutorial zur dekomprimierten Version von MySQL 5.7.23 für WinX64

Detailliertes Installations-Tutorial zur Dekompri...

Zusammenfassung der zehn häufigsten Probleme bei MySQL-Indexfehlern

Inhaltsverzeichnis Hintergrund 1. Die Abfragebedi...

Beispielanalyse von MySQL-Start- und Verbindungsmethoden

Inhaltsverzeichnis So starten Sie mysqld Methode ...

Prototyp und Prototypenkette Prototyp und Protodetails

Inhaltsverzeichnis 1. Prototyp 2. Prototypenkette...

Linux verwendet stty zum Anzeigen und Ändern von Terminalzeileneinstellungen

Sttty ist ein gängiger Befehl zum Ändern und Druc...

Einführung in berechnete Eigenschaften in Vue

Inhaltsverzeichnis 1. Was ist eine berechnete Eig...