REVOKE 命令用于撤销先前授予用户的权限。
它的语法是:
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {tbl_name | * | *.* | db_name.*} FROM user_name [, user_name ...]
与 GRANT 命令的情况一样,也许真正了解它的操作方式的最好方法是尝试几个示例。
假设管理员想要取消用户 widgetAdmin 的 DELETE 权限。
这是使用以下命令完成的:
mysql>REVOKE DELETE ON widgets.* ->FROM widgetAdmin@localhost;
要记住的一点是,虽然 REVOKE 可以删除用户的所有权限(包括连接权限),但它不会从权限表中明确删除该用户。
为了说明这一点,请考虑以下命令:
mysql>REVOKE ALL PRIVILEGES ON widgets.* ->FROM widgetAdmin@localhost;
虽然这会导致用户 widgetAdmin 的所有权限被撤销,但它不会从权限表中删除相关行!如果打算从数据库中完全删除用户,则必须使用 delete 命令删除行,如下所示:
mysql>DELETE FROM user WHERE user = 'widgetAdmin'; Query OK, 1 row affected (0.00 sec) mysql>flush privileges;
这将有效地拒绝该用户连接到 MySQL 服务器。
请注意,如果管理员希望从权限表中完全删除用户,则必须使用 DELETE 显式删除用户表中的行。
日期:2020-09-17 00:11:13 来源:oir作者:oir