跳到主要内容

撤销权限

授予权限后,可以撤销用户的权限。

前提条件

  • 当前用户必须拥有被撤销的权限(例如,test1 要撤销 test2 对表 t1SELECT 权限,则 test1 必须拥有表 t1SELECT权限),并且拥有 GRANT OPTION 权限。

  • 撤销 ALL PRIVILEGESGRANT OPTION 权限时,当前用户必须拥有全局 GRANT OPTION 权限,或者对权限表的 UPDATEDELETE 权限。

注意事项

  • 同时对某个用户撤销多个权限时,权限类型用英文逗号(,)隔开。

  • 同时撤销多个用户的授权时,用户名用英文逗号(,)隔开。

  • 撤销操作不会级联。例如,用户 test1test2 授予了某些权限,撤回 test1 的权限不会同时也撤回 test2 的相应权限。

操作示例

  • 撤销全局权限

    撤销用户 test 操作所有数据库中所有表的 INSERTSELECT 权限。

    REVOKE SELECT, INSERT ON *.* FROM 'test';
  • 撤销数据库级权限

    撤销用户 test 操作数据库 db1 的所有表的 INSERTSELECT 权限。

    REVOKE SELECT, INSERT ON db1 FROM 'test';
  • 撤销表级权限

    撤销用户 test 操作数据库 db1 的表 tb1_nameINSERTSELECT 权限。

    REVOKE SELECT, INSERT ON db1.tb1_name FROM 'test';
  • 撤销表中的列权限

    撤销用户 test 对数据库 db1 下表 tb1_namec1 列的 SELECT 权限以及 c1c2 列的 INSERT 权限。

    REVOKE SELECT(c1), INSERT (c1, c2) ON db1.tb1_name FROM test;

更多 REVOKE 语句的信息请参见 REVOKE