描述

该语句用于系统管理员撤销 User 的某些权限。

使用说明如下:

  • 用户必须拥有被撤销的权限(例如,user1 要撤销 user2 对表 t1 的 SELECT 权限,则 user1 必须拥有表 t1 的 SELECT的权限),并且拥有 GRANT OPTION权限。
  • 撤销 ALL PRIVILEGES 和 GRANT OPTION 权限时,当前用户必须拥有全局 GRANT OPTION 权限,或者对权限表的UPDATE 及 DELETE 权限。
  • 撤销操作不会级联。例如,用户 user1 给 user2 授予了某些权限,撤回 user1 的权限不会同时也撤回 user2 的相应权限。

格式

  1. REVOKE priv_type
  2.      ON database.tblname
  3.      FROM 'username';
  4. privilege_type:
  5. ALTER
  6. | CREATE
  7. | CREATE USER
  8. | CREATE VIEW
  9. | DELETE
  10. | DROP
  11. | GRANT OPTION
  12. | INDEX
  13. | INSERT
  14. | PROCESS
  15. | SELECT
  16. | SHOW DATABASES
  17. | SHOW VIEW
  18. | SUPER
  19. | UPDATE
  20. | USAGE

参数解释

参数

描述

priv_type

指定撤销的权限类型。具体的权限类型及其说明请参见下方权限类型说明表。

同时对某个用户撤销多个权限时,权限类型用“,”隔开。

database.tblname

指定数据库中的表。

用“*”代替 database 或 table_name,表示撤销全局权限,即撤销对数据库中所有表的操作权限。

username

指定撤销权限的用户。同时撤销多个用户的授权时,用户名用“,”隔开。

可以撤销的权限类型如下表所示。

权限类型说明表

权限

说明

ALL PRIVILEGES

除GRANT OPTION以外所有权限。

ALTER

ALTER TABLE的权限。

CREATE

CREATE TABLE的权限。

CREATE USER

CREATE USER,DROP USER,RENAME USER和REVOKE ALL PRIVILEGES的权限。

CREATE TABLEGROUP

全局CREATE TABLEGROUP的权限。

DELETE

DELETE的权限。

DROP

DROP的权限。

GRANT OPTION

GRANT OPTION的权限。

INSERT

INSERT的权限。

SELECT

SELECT的权限。

UPDATE

UPDATE的权限。

SUPER

SET GLOBAL修改全局系统参数的权限。

SHOW DATABASES

全局 SHOW DATABASES的权限。

INDEX

CREATE INDEX, DROP INDEX的权限。

CREATE VIEW

创建、删除视图的权限。

SHOW VIEW

SHOW CREATE VIEW权限。

CREATE SYNONYM

创建同义词的权限。

说明

目前没有change effective tenant 的权限控制,故 sys 租户下的用户都可以撤销权限。

示例

执行以下命令撤销用户 obsqluser01 的所有权限。

  1. OceanBase(admin@TEST)>REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'obsqluser01';
  2. Query OK, 0 rows affected (0.03 sec)