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

    格式

    1. REVOKE priv_type
    2.      ON database.tbl_name
    3.      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 用户的所有权限。

    1. REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'obsqluser01';