首批通过分布式安全可靠测评,为关键业务系统打造
新建角色
更新时间:2026-03-29 20:30:15
您可以通过 CREATE ROLE 语句新建角色,通过角色来管理权限。
前提条件
新建角色需要当前用户具备
CREATE USER权限或CREATE ROLE权限。查看当前用户所拥有的权限的相关操作请参见 查看用户权限。如果您没有相关权限,请联系管理员为您添加,为用户添加权限的相关操作请参见 直接授予权限。
如果当前租户下系统变量
read_only的值为1,即租户为只读模式,则当前用户还需要额外具备SUPER权限,才能执行CREATE ROLE语句。系统变量
read_only用于设置租户是否为只读模式。默认为0,表示租户为读写模式。有关系统变量read_only的更多说明,请参见 read_only。
操作示例
新建角色 role1。
obclient [oceanbase]> CREATE ROLE role1;
或者
obclient [oceanbase]> CREATE ROLE IF NOT EXISTS role1;
上述示例中,不加 IF NOT EXISTS 子句时,如果当前租户中已存在同名的 role1,系统就会报错。如果加了 IF NOT EXISTS 子句,则系统会提示一条 Warning 信息。
obclient [oceanbase]> CREATE ROLE IF NOT EXISTS role1;
Query OK, 0 rows affected, 1 warning
使用 SHOW WARNINGS; 语句查询 Warning 信息,显示结果如下:
+-------+------+---------------------------------------------+
| Level | Code | Message |
+-------+------+---------------------------------------------+
| Note | 3163 | Authorization ID 'role1'@'%' already exists |
+-------+------+---------------------------------------------+
1 row in set
后续操作
角色创建成功后,您可以将其他角色或权限授予该角色,具体操作请参见以下内容:
相关文档
有关 CREATE ROLE 语句的详细说明,请参见 CREATE ROLE。