Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verwenden Sie den Grant-Befehl in MySQL

coldplay.xixi
Freigeben: 2020-07-11 17:33:58
nach vorne
3069 Leute haben es durchsucht

Das Beispiel in diesem Artikel läuft auf MySQL 5.0 und höher.

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

grant 权限 on 数据库对象 to 用户
Nach dem Login kopieren

Verwandte Lernempfehlungen: MySQL-Video-Tutorial

1. Gewähren Sie normalen Datenbenutzern das Recht, alle Tabellendaten in der Datenbank abzufragen, einzufügen, zu aktualisieren und zu löschen.

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
Nach dem Login kopieren

Oder verwenden Sie stattdessen einen MySQL-Befehl:

grant select, insert, update, delete on testdb.* to common_user@'%'
Nach dem Login kopieren

2. Erteilen Sie dem Datenbankentwickler die Erlaubnis, Tabellen, Indizes, Ansichten, gespeicherte Prozeduren und Funktionen zu erstellen. . . und andere Berechtigungen.

Erteilen Sie die Berechtigung zum Erstellen, Ändern und Löschen von MySQL-Datentabellenstrukturen.

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

grant betreibt MySQL-Fremdschlüsselberechtigungen.

grant references on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

Erteilen Sie die Berechtigung zum Betreiben temporärer MySQL-Tabellen.

grant create temporary tables on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

Erteilen Sie die Berechtigung zum Betreiben von MySQL-Indizes.

grant index on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

Erteilen Sie die Berechtigung zum Betreiben von MySQL-Ansichten und zum Anzeigen des Quellcodes.

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

Gewähren Sie die Berechtigung zum Ausführen gespeicherter MySQL-Prozeduren und -Funktionen.

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';
Nach dem Login kopieren

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

grant all privileges on testdb to dba@'localhost'
Nach dem Login kopieren

Dabei kann das Schlüsselwort „Privilegien“ weggelassen werden.

4. Erteilen Sie dem leitenden DBA die Berechtigung, alle Datenbanken in MySQL zu verwalten.

grant all on *.* to dba@'localhost'
Nach dem Login kopieren

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

1. Grant arbeitet auf dem gesamten MySQL-Server:

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
Nach dem Login kopieren

2. Grant arbeitet auf einer einzelnen Datenbank:

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
Nach dem Login kopieren

3 Tabelle oben:

grant select, insert, update, delete on testdb.orders to dba@localhost;
Nach dem Login kopieren

Hier kann die obige Anweisung bei der Autorisierung mehrerer Tabellen für einen Benutzer mehrmals ausgeführt werden. Zum Beispiel:

grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345';
grant select on smp.mo_sms to mo_user@'%' identified by '123345';
Nach dem Login kopieren

4. Grant arbeitet an Spalten in der Tabelle:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
Nach dem Login kopieren

5. Grant arbeitet an gespeicherten Prozeduren und Funktionen:

6 MySQL-Benutzerberechtigungen

Aktuelle Benutzerberechtigungen (selbst) anzeigen:

grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'
Nach dem Login kopieren

Andere MySQL-Benutzerberechtigungen anzeigen:

show grants;
Nach dem Login kopieren

7. Widerruf wurde gewährt Berechtigungen für MySQL-Benutzerberechtigungen.

Die Syntax von revoke ähnelt der von grant. Ersetzen Sie einfach das Schlüsselwort „to“ durch „from“:

show grants for dba@localhost;
Nach dem Login kopieren

8. MySQL gewähren, Benutzerberechtigungen widerrufen

1. Nach dem Erteilen und Widerrufen von Benutzerberechtigungen werden die Berechtigungen nur wirksam, wenn der Benutzer erneut eine Verbindung zur MySQL-Datenbank herstellt.

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

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
Nach dem Login kopieren
Diese Funktion wird im Allgemeinen nicht verwendet. In der Praxis werden Datenbankberechtigungen am besten einheitlich vom DBA verwaltet.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Grant-Befehl in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage