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

So erstellen Sie eine Vue3-Desktopanwendung

In diesem Artikel sehen wir uns an, wie man mit V...

Detaillierte Erklärung zur Verwendung des MySQL-Sicherungsskripts mysqldump

In diesem Artikel wird das MySQL-Sicherungsskript...

HTML als Startseite festlegen und zu Favoriten hinzufügen_Powernode Java Academy

So implementieren Sie die Funktionen „Als Startse...

Beispielanalyse der Intervallberechnung von MySQL-Datum und -Uhrzeit

Dieser Artikel beschreibt anhand eines Beispiels ...

Zusammenfassung der Verwendung von Linux-SFTP-Befehlen

sftp ist die Abkürzung für Secure File Transfer P...

Detaillierte Erklärung des HTML-Bereichs-Tags

Der <area>-Tag definiert einen Bereich in e...

Ausführliche Erklärung zu MySQL vom Einstieg bis zum Aufgeben - Installation

Was Sie lernen werden 1. Softwareinstallation und...

JS-Implementierung des Karussell-Karussell-Falls

In diesem Artikelbeispiel wird der spezifische JS...

So implementieren Sie Web-Stresstests mit Apache Bench

1. Einführung in Apache Bench ApacheBench ist ein...

Zusammenfassung der MySQL-Datenbanknutzungsspezifikationen

Einführung: Ich glaube, dass jeder einige Dokumen...

Warum kann das in HTML eingebettete Video im MP4-Format nicht abgespielt werden?

Der folgende Code befindet sich in meiner test.htm...

Schritte und Fallstricke beim Upgrade von Linux MySQL 5.5 auf MySQL 5.7

Inhaltsverzeichnis Linux MySQL 5.5 auf MySQL 5.7 ...