撤销priv_type[(column_list(,)priv_type[(column_list)]]…在[object_type]priv_level从user_or_role(,user_or_role] ... 撤销ALL [PRIVILEGES], GRANT OPTION FROMuser_or_role(,user_or_role] ...撤消代理user_or_role从user_or_role(,user_or_role] ... 撤销角色(,角色] ... 从user_or_role(,user_or_role] ......user_or_role:{用户(参见第6.2.4节“指定帐户名称”)|角色(参见第6.2.5节“指定角色名称”。}
这撤销
语句使系统管理员能够撤消用户帐户和角色的权限和角色,可以撤消用户帐户和角色的权限和角色。
有关存在权限存在的级别的详细信息,允许的priv_type
那priv_level
,object_type
值,以及指定用户和密码的语法,请参见第13.7.1.6节,“授予声明”.
有关角色的信息,请参阅第6.2.10节,“使用角色”.
当只读
系统变量已启用,撤销
要求connection_admin.
或特权(或已弃用的超级
除了以下讨论中描述的任何其他所需特权外,特权)。
撤销
成功用于所有命名用户和角色或卷起,如果发生任何错误,则无效。如果它成功为所有命名用户和角色成功,则该声明仅写入二进制日志。
中描述的每个帐户名称的格式第6.2.4节,“指定帐户名称”.每个角色名称使用所述格式第6.2.5节,“指定角色名称”.例如:
撤销*上的插入。*从“杰弗里”@“localhost”;REVOKE 'role1', 'role2' FROM 'user1'@'localhost', 'user2'@'localhost';撤销世界上的选择。*“role3”;
帐户或角色名的主机名部分,如果省略,默认为“%”
.
使用第一个撤销
语法,你必须有格兰特选项
特权,您必须拥有您正在撤销的权限。
要撤销所有权限,请使用第二种语法,删除指定用户或角色的所有全局权限、数据库权限、表权限、列权限和例程权限:
撤销所有权限,授予选项user_or_role(,user_or_role] ......
撤销所有特权,授予选择权
不撤销任何角色。
使用这个撤销
语法,你必须拥有全局创建用户
特权,或更新
特权的mysql
系统模式。
的语法撤销
关键字后面跟着一个或多个角色名从
子句,指示要从其中撤销角色的一个或多个用户或角色。
中命名的角色mandatory_roles
系统变量值不能被撤销。
被撤销的角色会立即影响被撤销的任何用户帐户,因此在该帐户的任何当前会话中,其权限会在执行下一条语句时进行调整。
撤消角色撤消角色本身,而不是它代表的权限。假设一个帐户被授予包含给定权限的角色,并且还授予一个明确或包含权限的其他角色的权限。在这种情况下,如果第一个角色被撤销,该帐户仍然具有该权限。例如,如果帐户被授予两个每个角色的角色选择
,帐户仍然可以在撤销任一角色后选择。
撤销所有的*.*
(在全局级别)撤销所有授予的静态全局特权和所有授予的动态特权。
要撤销权限和角色的用户帐户和角色必须存在,但是要撤销的权限和角色目前不需要授予它们。
授予但服务器不知道的被撤销的特权将被撤销,并发出警告。这种情况可能发生在动态特权上。例如,可以在注册该特权的组件安装时授予动态特权,但是如果该组件随后被卸载,则该特权将被取消注册,尽管拥有该特权的帐户仍然拥有该特权,并且可以从他们那里撤销该特权。
撤销
属性中删除权限,但不删除行mysql.user
系统表。完全删除用户帐户,使用减少用户
.看到第13.7.1.5节“删除用户陈述”.
如果grant表持有包含大小写混合的数据库名或表名和lower_case_table_names
系统变量设置为非零值,撤销
不能用于撤销这些权限。在这种情况下,必须直接操纵授权表。(授予
什么时候没有创造这样的行lower_case_table_names
,但可能在设置变量之前已经创建了这些行。这lower_case_table_names
设置只能在初始化服务器时进行配置。)
从成功执行时mysql计划,撤销
响应与查询OK,影响0行
.确定操作后仍有哪些特权,使用秀奖助金
.看到第13.7.7.21节“展示赠款陈述”.