Heim > Datenbank > MySQL-Tutorial > Ausführliche Erläuterung von Beispielen für MySQL-Datenbankrollen

Ausführliche Erläuterung von Beispielen für MySQL-Datenbankrollen

WBOY
Freigeben: 2022-06-08 20:51:03
nach vorne
2167 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevante Inhalte zu Datenbankrollen. Sie können Benutzern mit denselben Berechtigungen Berechtigungen erteilen hoffe es hilft allen.

Ausführliche Erläuterung von Beispielen für MySQL-DatenbankrollenEmpfohlenes Lernen:

MySQL-Video-Tutorial

Verwalten Sie die Berechtigungen der MySQL-Datenbank, fügen Sie einfach Berechtigungen direkt einem bestimmten Benutzer hinzu. Eine problematische Sache dabei ist, dass der Vorgang etwas überflüssig erscheint, wenn wir viele Benutzer haben und alle über dieselben Berechtigungen verfügen. Dann können wir Benutzern über Rollen Berechtigungen erteilen.

Rollenverständnis

Der Zweck der Einführung von Rollen besteht darin, die Verwaltung von Benutzern mit gleichen Berechtigungen zu erleichtern.

Geeignete Berechtigungseinstellungen können die Datensicherheit gewährleisten, was von entscheidender Bedeutung ist.

Erstellen Sie eine Rolle reee Die Benennungsregeln für Rollennamen ähneln denen für Benutzernamen. Wenn Hostname weggelassen wird, ist der Standardwert %. Rollenname darf nicht weggelassen werden oder leer sein.

exercise: Jetzt müssen wir eine Manager -Rolle erstellen, können wir den folgenden Code verwenden:

CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...
Nach dem Login kopieren

Der Effekt ist wie unten gezeigt. Rolle erstellen Danach verfügt diese Rolle standardmäßig über keine Berechtigungen und wir müssen die Rolle autorisieren. Die Syntaxstruktur zum Erteilen von Rollenberechtigungen lautet:

CREATE ROLE 'manager'@'localhost';
Nach dem Login kopieren
Beispiel: Gewähren Sie der Managerrolle die Berechtigung zum Anzeigen aller Tabellen in der Datenbank dbtest1

Rollenberechtigung anzeigen

Solange Sie eine Rolle erstellen, erteilt Ihnen das System automatisch die Berechtigung „NUTZUNG“, d. h. die Berechtigung, eine Verbindung zur Anmeldedatenbank herzustellen.

autorisiert ist, können Sie die Rolle autorisieren, die Berechtigungen beibehalten, Berechtigungen hinzufügen oder widerrufen. Fügen Sie Berechtigungen mit der GRANT-Anweisung hinzu, die mit der Rollenautorisierung identisch ist. Um eine Rolle oder Rollenberechtigungen zu widerrufen, verwenden Sie die REVOKE-Anweisung.

Das Ändern der Berechtigungen einer Rolle wirkt sich auf die Berechtigungen des Kontos aus, dem die Rolle gehört.

Die SQL-Syntax zum Widerrufen von Rollenberechtigungen lautet wie folgt​​
GRANT privileges ON table_name TO 'role_name'[@'host_name'];
Nach dem Login kopieren

Jetzt fügen wir dem Manager eine Löschberechtigung hinzu und nehmen diese Berechtigung dann zurück

Löschen der Rolle

Dang Wenn wir das Unternehmen wieder integrieren müssen, müssen wir möglicherweise zuvor erstellte Rollen bereinigen und einige Rollen löschen, die nicht mehr verwendet werden. Das Löschen eines Zeichens ist sehr einfach. Sie müssen lediglich die grammatikalische Struktur beherrschen. ​ ​

REVOKE privileges ON tablename FROM 'rolename';
Nach dem Login kopieren

Beachten Sie, dass der Benutzer alle durch diese Rolle erhaltenen Berechtigungen verliert, wenn Sie eine Rolle löschen.

给用户赋予角色          

角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语 法形式如下:          

GRANT role [,role2,...] TO user [,user2,...];
Nach dem Login kopieren

在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。           

例子:创建一个用户叫wang5 然后赋予角色manager,操作如下          

         

用wang5登录并操作

 

赋予wang5角色manager  注意这个是通过root用户实现的

 

然后通过wang5登录查看数据库

此时还是看不到dbtest1,这是怎么回事呢?原来我们需要激活角色

激活角色

方式1:使用set default role 命令激活角色

SET DEFAULT ROLE ALL TO 'kangshifu'@'localhost';
Nach dem Login kopieren

 现在激活manager角色

然后再通过wang5用户登录查看

激活方式2:将activate_all_roles_on_login设置为ON          

 默认情况:

 设置 SET GLOBAL activate_all_roles_on_login=ON;

这条 SQL 语句的意思是,对 所有角色永久激活 。运行这条语句之后,用户才真正拥有了赋予角色的所有 权限。            

那么现在wang5已经被赋予manager角色,我们知道manager角色只是有select的权限。我们做如下操作          

 撤销用户的角色

REVOKE role FROM user;
Nach dem Login kopieren

比如撤销 wang5的manager角色,通过root用户          

         

 再通过wang5登录看效果

推荐学习:mysql视频教程

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für MySQL-Datenbankrollen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.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