实验9.3 角色管理
【实验目的】
①掌握MySQL角色的创建方法。
②掌握将用户添加为角色成员的方法。
③掌握授予角色权限和撤销角色权限的方法。
④掌握删除角色的方法。
【实验内容】
①使用SQL语句创建角色SalesRole。
②使用SQL语句给角色SalesRole赋予查询表customer的权限。
③使用SQL语句将用户SQLUser1添加为角色SalesRole的成员。
④使用SQL语句撤销用户SQLUser1的角色。
⑤使用SQL语句回收角色SalesRole的权限。
⑥使用SQL语句删除角色SalesRole。
【实验步骤】
(1)创建角色
使用SQL语句创建角色SalesRole。
①以root管理员身份登录到MySQL。
②在图标菜单中单击第一个图标
,新建一个查询窗口。
③在查询窗口中输入如下SQL语句:
CREATE ROLE 'SalesRole'@'localhost'
④单击工具栏中的
图标,执行上面的SQL语句,如图9.32所示。

图9.32 SQL创建角色
(2)给角色赋予查询权限
使用SQL语句给角色SalesRole赋予查询数据库表的权限。
①以root管理员身份登录到MySQL。
②在图标菜单中单击第一个图标
,新建一个查询窗口。
③在查询窗口中输入如下SQL语句:
GRANT SELECT ON sales.customers TO 'SalesRole'@'localhost'
④单击工具栏中的
图标,执行上面的SQL语句,如图9.33所示。

图9.33 SQL给角色赋予权限
(3)为角色添加成员
使用SQL语句将用户SQLUser1添加为角色SalesRole的成员。
①以root管理员身份登录到MySQL。
②在图标菜单中单击第一个图标
,新建一个查询窗口。
③在查询窗口中输入如下SQL语句:
GRANT 'SalesRole'@'localhost' TO 'SQLUser1'@'localhost'
④单击工具栏中的
图标,执行上面的SQL语句,如图9.34所示。

图9.34 SQL将用户添加为角色成员
⑤用户在使用角色权限前,需要进行激活,即输入以下SQL语句:
SET GLOBAL activate_all_roles_on_login=ON(https://www.daowen.com)
⑥单击工具栏中的
图标,执行上面的SQL语句,如图9.35所示。

图9.35 SQL激活角色
⑦验证。登录用户SQLUser1,发现可以对customer表进行查询,如图9.36所示。

图9.36 验证角色权限
(4)撤销用户角色
使用SQL语句撤销用户SQLUser1的角色。
①以root管理员身份登录到MySQL。
②在图标菜单中单击第一个图标
,新建一个查询窗口。
③在查询窗口中输入如下SQL语句:
REVOKE 'SalesRole'@'localhost' FROM 'SQLUser1'@'localhost'
④单击工具栏中的
图标,执行上面的SQL语句,如图9.37所示。

图9.37 SQL撤销用户角色
⑤验证。登录用户SQLUser1,发现已经没有对customer表查询的权限,如图9.38所示。

图9.38 验证撤销用户角色
(5)回收角色的权限
使用SQL语句回收角色SalesRole的权限。
①以root管理员身份登录到MySQL。
②在图标菜单中单击第一个图标
,新建一个查询窗口。
③在查询窗口中输入如下SQL语句:
REVOKE SELECT ON sales.customers FROM 'SalesRole'@'localhost'
④单击工具栏中的
图标,执行上面的SQL语句,如图9.39所示。

图9.39 SQL回收角色权限
(6)删除角色
使用SQL语句删除角色SalesRole。
①在图标菜单中单击第一个图标
,新建一个查询窗口。
②在查询窗口中输入如下SQL语句:
DROP ROLE 'SalesRole'@'localhost'
③单击工具栏中的
图标,执行上面的SQL语句,如图9.40所示。

图9.40 删除角色