MySQL revoke取消权限
时间:2019-02-04 12:52:28 来源:igfitidea点击:
在本教程中,我们将学习如何在MySQL中取消对表、函数和过程的权限。
在MySQL中授予和撤消对各种数据库对象的权限。然后,您可以使用SHOW GRANTS命令查看分配给用户的权限。
取消授予表的权限
语法
撤销MySQL中表的权限的语法为:
REVOKE privileges ON object FROM user;
参数 | 说明 |
---|---|
privileges | SELECT,INSERT,UPDATE,DELETE,INDEX,CREATE,ALTER,DROP,GRANT OPTION或者ALL中的任意值 |
object | 撤消其权限的数据库对象的名称。 例如表名,视图名,过程名等。 |
user | 拥有这些权限的用户的名称。 |
撤销授予表的权限示例
- 撤销用户root对表contacts的DELETE和UPDATE权限:
REVOKE DELETE, UPDATE ON contacts FROM 'root'@'localhost';
- 撤消用户mysql对表的所有权限(GRANT OPTION除外)(使用ALL关键字):
REVOKE ALL ON contacts FROM 'mysql'@'localhost';
- 撤消所有用户在contacts表的SELECT权限:
REVOKE SELECT ON contacts FROM '*'@'localhost';
撤销函数/程序的权限
语法
在MySQL中,取消对函数或过程的权限的语法为:
REVOKE EXECUTE ON [ PROCEDURE | FUNCTION ] object FROM user;
参数 | 说明 |
---|---|
EXECUTE | 执行权限 |
PROCEDURE | 要取消权限的对象是过程 |
FUNCTION | 要取消权限的对象是函数 |
object | 要撤消其权限的数据库对象的名称。 |
user | 被撤销EXECUTE权限的用户名。 |
取消对函数的权限示例
- 取消用户mysql对函数GenTree的可执行权限:
REVOKE EXECUTE ON FUNCTION GenTree FROM 'smithj'@'localhost';
- 取消所有对函数GenTree的可执行权限:
REVOKE EXECUTE ON FUNCTION CalcIncome FROM '*'@'localhost';
取消对过程的权限示例
回收用户yunkaibj对过程MyFirstProc的EXECUTE权限
REVOKE EXECUTE ON PROCEDURE MyFirstProc FROM 'yunkaibj'@'localhost';