授予角色
语法格式
sql
AlterRoleStmt::=
GRANT ROLE role_name TO user_name_1[, user_name_2 [, ...] ]
参数说明
role_name
:要授予的角色名。user_name_1, user_name_2, ...
:角色被授予的用户名。
示例
角色test_role1下的所有用户即test_user1、test_user2拥有查询任何表的权限,角色test_role2下的所有用户即test_user2、test_user3拥有更新任何表的权限。对于用户来说test_user1用户仅拥有查询任何表权限;test_user2用户既拥有查询任何表权限,又拥有更新任何表权限;test_user3仅拥有更新任何表权限。
sql
创建用户:
CREATE USER test_user1 IDENTIFIED BY '1234@ABCD';
CREATE USER test_user2 IDENTIFIED BY '1234@ABCD';
CREATE USER test_user3 IDENTIFIED BY '1234@ABCD';
创建角色:
CREATE ROLE test_role1;
CREATE ROLE test_role2;
将指定用户指定为test_role1角色的成员用户:
GRANT ROLE test_role1 TO test_user1,test_user2;
将指定用户指定为test_role2角色的成员用户:
GRANT ROLE test_role2 TO test_user2,test_user3;
为角色授予权限:
GRANT SELECT ANY TABLE TO test_role1;
GRANT UPDATE ANY TABLE TO test_role2;