REVOKE

权限回收的语法介绍。

语法

权限回收的语义表达是“将某个对象的指定权限从指定用户收回”。其语法如下:

revoke_statement      ::=  REVOKE privilege_definition ON resource_definition FROM user_name
privilege_definition  ::=  ALL [PRIVILEGES] | READ | WRITE | ADMIN | SYSTEM
resource_definition   ::=  GLOBAL | DATABASE database_name

参数说明

参数

说明

user_name

权限撤回操作的对象用户名。必须是SQL标识符。

privilege_definition

被撤回的权限。取值为以下类型:

  • READ

    具备“查询”权限。

  • WRITE

    具备“写入”权限。

  • ADMIN

    具备“管理”权限。

  • SYSTEM

    具备对于集群层面的管理权限。其内涵包含了 GLOBAL ADMIN权限。

  • ALL 或 ALL PRIVILEGES

    具备“所有”权限。包含READ、WRITE、ADMIN。

resource_definition

被撤回权限的资源范围。资源粒度如下:

  • GLOBAL

    撤回全局所有资源的特定权限。

  • DATABASE

    撤回指定Database的特定权限。

database_name

当撤回权限的粒度为Database时,表示撤回权限所属的Database名。必须是SQL标识符。

注意

REVOKE语句是否可以执行成功,还取决于执行者自身拥有的权限。详细请参见用户及权限管理

示例

以下例子展示了将一个名为 DB1 的Database的读权限从一个名为 tsdbuser 的用户处收回。

REVOKE READ ON DATABASE `DB1` FROM `tsdbuser`;

以下例子展示了将一个名为 DB2 的Database的写权限从一个名为 tsdbuser 的用户处收回。

REVOKE WRITE ON DATABASE `DB2` FROM `tsdbuser`;

以下例子展示了将一个名为 DB3 的Database的所有已赋予权限从一个名为 tsdbuser 的用户处收回。

REVOKE ALL PRIVILEGES ON DATABASE `DB3` FROM `tsdbuser`;
阿里云首页 云原生多模数据库Lindorm 相关技术圈