MySQL刪除使用者許可權(REVOKE)

2020-07-16 10:04:45
MySQL 資料庫中可以使用 REVOKE 語句刪除一個使用者的許可權,此使用者不會被刪除。

語法格式有兩種形式,如下所示:

1) 第一種:

REVOKE <許可權型別> [ ( <列名> ) ] [ , <許可權型別> [ ( <列名> ) ] ]…
ON <物件型別> <許可權名> FROM <使用者1> [ , <使用者2> ]…

2) 第二種:

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

語法說明如下:
  • REVOKE 語法和 GRANT 語句的語法格式相似,但具有相反的效果。
  • 第一種語法格式用於回收某些特定的許可權。
  • 第二種語法格式用於回收特定使用者的所有許可權。
  • 要使用 REVOKE 語句,必須擁有 MySQL 資料庫的全域性 CREATE USER 許可權或 UPDATE 許可權。

【範例】使用 REVOKE 語句取消使用者 testUser 的插入許可權,輸入的 SQL 語句和執行過程如下所示。
mysql> REVOKE INSERT ON *.*
    -> FROM 'testUser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT Host,User,Select_priv,Insert_priv,Grant_priv
    -> FROM mysql.user
    -> WHERE User='testUser';
+-----------+----------+-------------+-------------+------------+
| Host      | User     | Select_priv | Insert_priv | Grant_priv |
+-----------+----------+-------------+-------------+------------+
| localhost | testUser | Y           | N           | Y          |
+-----------+----------+-------------+-------------+------------+
1 row in set (0.00 sec)