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
removes privileges, but
does not remove rows from the mysql.user
system table. To remove a user account entirely, use
DROP USER
. See
Section 13.7.1.3, “DROP USER Statement”.
If the grant tables hold privilege rows that contain mixed-case
database or table names and the
lower_case_table_names
system
variable is set to a nonzero value,
REVOKE
cannot be used to revoke
these privileges. It is necessary to manipulate the grant tables
directly. (GRANT
does not create
such rows when
lower_case_table_names
is set,
but such rows might have been created prior to setting the
variable.)
从mysql
程序成功执行时,REVOKE
响应为
Query OK, 0 rows affected
. 要确定操作后保留的特权,请使用
SHOW GRANTS
。请参阅
第 13.7.5.21 节,“SHOW GRANTS 语句”。