撤销权限
授予权限后,可以撤销用户的权限。
前提条件
-
当前用户必须拥有被撤销的权限(例如,
test1要撤销test2对表t1的SELECT权限,则test1必须拥有表t1的SELECT权限),并且拥有GRANT OPTION权限。 -
撤销
ALL PRIVILEGES和GRANT OPTION权限时,当前用户必须拥有全局GRANT OPTION权限,或者对权限表的UPDATE及DELETE权限。
注意事项
-
同时对某个用户撤销多个权限时,权限类型用英文逗号(,)隔开。
-
同时撤销多个用户的授权时,用户名用英文逗号(,)隔开。
-
撤销操作不会级联。例如,用户
test1给test2授予了某些权限,撤回test1的权限不会同时也撤回test2的相应权限。
操作示例
-
撤销全局权限
撤销用户
test操作所有数据库中所有表的INSERT、SELECT权限。REVOKE SELECT, INSERT ON *.* FROM 'test'; -
撤销数据库级权限
撤销用户
test操作数据库db1的所有表的INSERT、SELECT权限。REVOKE SELECT, INSERT ON db1 FROM 'test'; -
撤销表级权限
撤销用户
test操作数据库db1的表tb1_name的INSERT、SELECT权限。REVOKE SELECT, INSERT ON db1.tb1_name FROM 'test'; -
撤销表中的列权限
撤销用户
test对数据库db1下表tb1_name的c1列的SELECT权限以及c1和c2列的INSERT权限。REVOKE SELECT(c1), INSERT (c1, c2) ON db1.tb1_name FROM test;
更多 REVOKE 语句的信息请参见 REVOKE。