位置:首页 > SQL > MySQL REVOKE命令详解:删除用户权限的方法

MySQL REVOKE命令详解:删除用户权限的方法

时间:2026-08-17  |  作者:极客少年  |  阅读:0

在 MySQL 里,想收回某个用户已经拥有的部分权限,可以直接使用 REVOKE 语句。

这里要注意,REVOKE 只是撤销权限,并不会把这个用户删除掉。这也是日常控制系统安全性时很常用的一种做法。

比如,数据库管理员如果判断某个用户不该继续保留 DELETE 权限,就可以把这项权限收回。

REVOKE 的两种常见语法格式

REVOKE 用来删除权限时,常见的语法格式有两种,先看第一种:

1)第一种

这种写法用于撤销用户的某些指定权限,语法格式如下:

REVOKE priv_type [(column_list)]...
ON database.table
FROM user [, user]...

MySQL REVOKE:删除用户权限

REVOKE 语句中的参数与 GRANT 语句的参数意思相同。其中:

  • priv_type 参数表示权限的类型;
  • column_list 参数表示权限作用于哪些列上,没有该参数时作用于整个表上;
  • user 参数由用户名和主机名构成,格式为“username'@'hostname'”。

2)第二种

删除特定用户的所有权限,语法格式如下:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

删除用户权限时的注意事项

  • REVOKE 语法和 GRANT 语句的语法格式相似,但具有相反的效果。
  • 要使用 REVOKE 语句,必须拥有 MySQL 数据库的全局 CREATE USER 权限或 UPDATE 权限。

例 1

使用 REVOKE 语句取消用户 testUser 的插入权限,SQL 语句和执行过程如下。

mysql> REVOKE INSERT ON *.*
    -> FROM 'testUser'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW GRANTS FOR 'testUser'@'localhost';
+-----------------------------------------------------------------+
| Grants for testUser@localhost                                   |
+-----------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'testUser'@'localhost' WITH GRANT OPTION |
+-----------------------------------------------------------------+
1 row in set (0.00 sec)

结果显示,删除 testUser 用户的 INSERT 权限成功。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多