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

Detaillierte Erklärung des digitalen Puzzles CocosCreator Huarongdao

Inhaltsverzeichnis Vorwort Text 1. Panel 2. Huaro...

Der Unterschied zwischen HTML-Frame, Iframe und Frameset

10.4.1 Der Unterschied zwischen Frameset und Fram...

Gängige Angriffe auf Web-Frontends und Möglichkeiten, sie zu verhindern

Die Sicherheitsprobleme, die bei der Frontend-Ent...

Beispiel für die Erstellung eines XML-Online-Editors mit js

Inhaltsverzeichnis Vorwort Die Notwendigkeit von ...

Verschachtelte Verwendungsoperation für MySQL-Aggregatfunktionen

Zweck: Verschachtelte Verwendung von MySQL-Aggreg...

So verbinden Sie JDBC mit MySQL 5.7

1. Bereiten Sie zunächst die MySQL- und Eclipse-U...

Axios storniert wiederholte Anfragen

Inhaltsverzeichnis Vorwort 1. So stornieren Sie e...

Detaillierte Erklärung der MySQL InnoDB-Indexerweiterung

Indexerweiterung: InnoDB erweitert automatisch je...

Zusammenfassung der Verwendung von vue Watch und Computed

Inhaltsverzeichnis 01. Hörer beobachten (1) Funkt...

Zusammenfassung der Namenskonventionen für HTML und CSS

CSS-Benennungsregeln Header: Header Inhalt: Inhalt...

Praktische TypeScript-Tipps, die Sie vielleicht nicht kennen

Inhaltsverzeichnis Vorwort Funktionsüberladung Zu...

Spezifische Verwendung von MySQL-Fensterfunktionen

Inhaltsverzeichnis 1. Was ist eine Fensterfunktio...

MySQL-Datenbank-JDBC-Programmierung (Java stellt eine Verbindung zu MySQL her)

Inhaltsverzeichnis 1. Grundvoraussetzungen für di...