跳到主要内容

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;
  • 同时创建角色 role001role002

    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)

相关文档