REVOKE语句用于系统管理员撤销User某些权限。
格式
REVOKE priv_type
ON database.tbl_name
FROM 'username';
- 用户必须拥有被撤销的权限(例如,user1要撤销user2对表t1的SELECT权限,则user1必须拥有表t1的SELECT的权限),并且拥有GRANT OPTION权限。
撤销“ALL PRIVILEGES”和“GRANTOPTION”权限时,当前用户必须拥有全局GRANT OPTION权限,或者对权限表的UPDATE及DELETE权限。
撤销操作不会级联。例如,用户user1给user2授予了某些权限,撤回user1的权限不会同时也撤回user2的相应权限。
用“”代替table_name*,表示撤销全局权限,即撤销对数据库中所有表的操作权限。
同时对用户撤销多个权限时,权限类型用“,”隔开。
同时撤销多个用户的授权时,用户名用“,”隔开。
priv_type的值如权限类型表所示。
权限类型表
权限 | 说明 |
ALL PRIVILEGES | 除GRANT OPTION以外所有权限。 |
ALTER | ALTER TABLE的权限。 |
CREATE | CREATE TABLE的权限。 |
CREATE USER | CREATE USER,DROPUSER,RENAME USER和REVOKE ALLPRIVILEGES的权限。 |
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权限 |
说明
说明:目前没有change effective tenant的权限控制,sys租户下的用户都可以。
示例
执行以下命令撤销 obsqluser01 用户的所有权限。
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'obsqluser01';