REVOKE
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
FROM user [, user] ...
REVOKE ALL [PRIVILEGES], GRANT OPTION
FROM user [, user] ...
REVOKE PROXY ON user
FROM user [, user] ...
该REVOKE语句使系统管理员能够撤销 MySQL 帐户的权限。
有关特权存在的级别、允许priv_type的
priv_level、 和
object_type值以及指定用户和密码的语法的详细信息,请参阅第 13.7.1.4 节,“GRANT 语句”。
read_only启用系统变量
时,除了以下讨论中描述的任何其他所需特权之外,还需要特权
REVOKE
。SUPER
每个帐户名都使用 第 6.2.4 节“指定帐户名”中描述的格式。例如:
REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';
帐户名的主机名部分(如果省略)默认为
'%'.
要使用第一种REVOKE语法,您必须拥有GRANT OPTION
特权,并且必须拥有要撤销的特权。
要撤销所有权限,请使用第二种语法,它会删除指定用户的所有全局、数据库、表、列和例程权限:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
要使用此REVOKE语法,您必须具有全局CREATE USER
权限或系统数据库
UPDATE
权限。mysql
要撤销权限的用户帐户必须存在,但要撤销的权限不需要当前授予它们。
REVOKE删除权限,但不会从mysql.user
系统表中删除行。要完全删除用户帐户,请使用
DROP USER。请参阅
第 13.7.1.3 节,“DROP USER 语句”。
如果授权表包含包含大小写混合的数据库或表名称的特权行,并且
lower_case_table_names系统变量设置为非零值,
REVOKE则不能用于撤销这些特权。有必要直接操作授权表。(设置GRANT时不会创建此类行
lower_case_table_names,但此类行可能在设置变量之前已创建。)
从mysql
程序成功执行时,REVOKE响应为
Query OK, 0 rows affected. 要确定操作后保留的特权,请使用
SHOW GRANTS。请参阅
第 13.7.5.22 节,“SHOW GRANTS 语句”。