MySQL REVOKE實現刪除用戶權限

在 MySQL 中,可以使用 REVOKE 語句刪除某個用戶的某些權限(此用戶不會被刪除),在一定程度上可以保證系統的安全性。例如,如果數據庫管理員覺得某個用戶不應該擁有 DELETE 權限,那麼就可以刪除 DELETE 權限。

使用 REVOKE 語句刪除權限的語法格式有兩種形式,如下所示:

1)第一種

刪除用戶某些特定的權限,語法格式如下:

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

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 權限成功。

到此這篇關於MySQL REVOKE實現刪除用戶權限的文章就介紹到這瞭,更多相關MySQL REVOKE 刪除用戶權限內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: