MySQL revoke取消权限


在本教程中,我们将学习如何在MySQL中取消对表、函数和过程的权限。

在MySQL中授予和撤消对各种数据库对象的权限。然后,您可以使用SHOW GRANTS命令查看分配给用户的权限。

取消授予表的权限

语法

撤销MySQL中表的权限的语法为:

1
REVOKE privileges ON object FROM user;
参数 说明
privileges SELECT,INSERT,UPDATE,DELETE,INDEX,CREATE,ALTER,DROP,GRANT OPTION或者ALL中的任意值
object 撤消其权限的数据库对象的名称。 例如表名,视图名,过程名等。
user 拥有这些权限的用户的名称。

撤销授予表的权限示例

  1. 撤销用户root对表contacts的DELETE和UPDATE权限:
1
REVOKE DELETE, UPDATE ON contacts FROM 'root'@'localhost';
  1. 撤消用户mysql对表的所有权限(GRANT OPTION除外)(使用ALL关键字):
1
REVOKE ALL ON contacts FROM 'mysql'@'localhost';
  1. 撤消所有用户在contacts表的SELECT权限:
1
REVOKE SELECT ON contacts FROM '*'@'localhost';

撤销函数/程序的权限

语法

在MySQL中,取消对函数或过程的权限的语法为:

1
REVOKE EXECUTE ON [ PROCEDURE | FUNCTION ] object FROM user;
参数 说明
EXECUTE 执行权限
PROCEDURE 要取消权限的对象是过程
FUNCTION 要取消权限的对象是函数
object 要撤消其权限的数据库对象的名称。
user 被撤销EXECUTE权限的用户名。

取消对函数的权限示例

  1. 取消用户mysql对函数GenTree的可执行权限:
1
REVOKE EXECUTE ON FUNCTION GenTree FROM 'smithj'@'localhost';
  1. 取消所有对函数GenTree的可执行权限:
1
REVOKE EXECUTE ON FUNCTION CalcIncome FROM '*'@'localhost';

取消对过程的权限示例

回收用户yunkaibj对过程MyFirstProc的EXECUTE权限

1
REVOKE EXECUTE ON PROCEDURE MyFirstProc FROM 'yunkaibj'@'localhost';


原文链接:https://codingdict.com/