MySQL用戶權限

MySQL數據庫中的用戶權限快速入門

讓我們看看如何向MySQL數據庫的用戶授予權限(稱為特權)

默認情況下,當您使用語法創建新的MySQL用戶時

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

用戶不能做太多事情。我們可以說實際上什麼也做不了。

它無法從任何現有數據庫中讀取數據,更不用說修改數據了。而且它甚至無法創建新的數據庫。

要使用戶執行任何操作,您必須授予特權做到這一點。

您可以使用GRANT命令。

我們可以用GRANT <permission>,使用以下權限關鍵字:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

向用戶授予創建新數據庫的權限

GRANT CREATE ON *.* TO '<username>'@'localhost';

授予用戶特權以在特定數據庫中創建新表

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

授予向用戶讀取(查詢)特定數據庫的特權

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

授予讀取特定數據庫的權限桌子給用戶

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

向用戶授予在特定數據庫中插入,更新和刪除行的特權

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

向用戶授予刪除特定數據庫中表的特權

GRANT DROP ON <database>.* TO '<username>'@'localhost';

向用戶授予刪除數據庫的權限

GRANT DROP ON *.* TO '<username>'@'localhost';

將特定數據庫的所有特權授予用戶

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

授予用戶所有特權

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

撤銷特權

撤消示例DROP特權<database>

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

要撤消所有特權,請運行:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

您可以通過運行以下命令來可視化單個用戶的特權:

SHOW GRANTS FOR '<username>'@'localhost';

更多數據庫教程: