MySQL删除用户权限(REVOKE)

MySQL 数据库中可以使用 REVOKE 语句删除一个用户的权限,此用户不会被删除。

语法格式有两种形式,如下所示:

1) 第一种:

  1. REVOKE <权限类型> [ ( <列名> ) ] [ , <权限类型> [ ( <列名> ) ] ]…
  2. ON <对象类型> <权限名> FROM <用户1> [ , <用户2> ]…

2) 第二种:

  1. REVOKE ALL PRIVILEGES, GRANT OPTION
  2. FROM user <用户1> [ , <用户2> ]…

语法说明如下:

  • REVOKE 语法和 GRANT 语句的语法格式相似,但具有相反的效果。
  • 第一种语法格式用于回收某些特定的权限。
  • 第二种语法格式用于回收特定用户的所有权限。
  • 要使用 REVOKE 语句,必须拥有 MySQL 数据库的全局 CREATE USER 权限或 UPDATE 权限。

【实例】使用 REVOKE 语句取消用户 testUser 的插入权限,输入的 SQL 语句和执行过程如下所示。

  1. mysql> REVOKE INSERT ON *.*
  2. -> FROM 'testUser'@'localhost';
  3. Query OK, 0 rows affected (0.00 sec)
  4. mysql> SELECT Host,User,Select_priv,Insert_priv,Grant_priv
  5. -> FROM mysql.user
  6. -> WHERE User='testUser';
  7. +-----------+----------+-------------+-------------+------------+
  8. | Host | User | Select_priv | Insert_priv | Grant_priv |
  9. +-----------+----------+-------------+-------------+------------+
  10. | localhost | testUser | Y | N | Y |
  11. +-----------+----------+-------------+-------------+------------+
  12. 1 row in set (0.00 sec)