Zusammenfassung zur Verwendung des MySQL-Autorisierungsbefehls „grant“

Zusammenfassung zur Verwendung des MySQL-Autorisierungsbefehls „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.

Dies ist das Ende dieses Artikels über die Verwendung des MySQL-Autorisierungsbefehls Grant. Weitere Informationen zum MySQL-Autorisierungsbefehl Grant finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

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

<<:  Eine kurze Diskussion über adaptive Layoutprobleme auf Mobilgeräten (responsive, rem/em, Js-Dynamik)

>>:  N Möglichkeiten, Elemente mit CSS zu zentrieren

Artikel empfehlen

HTML Tutorial: Sammlung häufig verwendeter HTML-Tags (4)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

So konfigurieren Sie den NAT-Modus für virtuelle VMware-Maschinen

In diesem Artikel wird der NAT-Konfigurationsproz...

MySQL-Datenbank GTID realisiert Master-Slave-Replikation (super praktisch)

1. Maria-Quelle hinzufügen vi /etc/yum.repos.d/Ma...

So zeichnen Sie spezielle Grafiken in CSS

1. Dreieck Rahmeneinstellungen Code: Breite: 300p...

Vue implementiert Div-Rad zum Vergrößern und Verkleinern

Implementieren Sie das Vergrößern und Verkleinern...

Detaillierte Erklärung des Vue-Datenproxys

Inhaltsverzeichnis 1. Worüber ich unten sprechen ...

Mobiles Internet-Zeitalter: Responsive Webdesign ist zum allgemeinen Trend geworden

Wir befinden uns in einer Ära der rasanten Entwick...

JavaScript implementiert eine Warteschlange mit doppeltem Ende

In diesem Artikelbeispiel wird der spezifische Co...