CREATE ROLE
描述
该语句用于创建角色。您可以通过角色来管理权限。
权限要求
-
新建角色需要当前用户具备
CREATE USER权限或CREATE ROLE权限。有关 seekdb 权限的详细介绍,参见 seekdb 的权限分类。 -
如果当前系统变量
read_only的值为1,即实例为只读模式,则当前用户还需要额外具备SUPER权限,才能执行CREATE ROLE语句。系统变量
read_only用于设置实例是否为只读模式。默认为0,表示实例为读写模式。有关系统变量read_only的更多说明,请参见 read_only。
语法
CREATE ROLE [IF NOT EXISTS] role_name [, role_name ...];
参数解释
| 参数 | 描述 |
|---|---|
| IF NOT EXISTS | 可选项,如果指定该子句,即使要创建的角色在当前租户中已存在,也不会报错,系统会提示一条 Warning 信息;如果不指定,则会报错。 |
| role_name | 指定要创建的角色的名称,同时创建多个角色时,角色名称用英文逗号(,)隔开。 |
示例
-
创建角色
role001。CREATE ROLE role001; -
同时创建角色
role001和role002。CREATE ROLE IF NOT EXISTS role001, role002;返回结果如下:
Query OK, 0 rows affected, 1 warning使用
SHOW WARNINGS;语句查询 Warning 信息,返回结果如下:+-------+------+-----------------------------------------------+
| Level | Code | Message |
+-------+------+-----------------------------------------------+
| Note | 3163 | Authorization ID 'role001'@'%' already exists |
+-------+------+-----------------------------------------------+
1 row in set (0.001 sec)