/

MySQL 使用者權限

MySQL 使用者權限

MySQL 資料庫的使用者權限簡介

當使用以下語法建立一個新的 MySQL 使用者時,

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

這個使用者在一開始沒有什麼權限。可以說,它什麼都不能做。

它無法讀取任何現有資料庫的資料,更不能修改資料。甚至無法建立新的資料庫。

如果要讓使用者做任何事情,你必須授予權限給它。

你可以使用 GRANT 命令來這麼做。

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

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

給使用者權限去建立新資料庫

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

給使用者權限在特定資料庫中建立新表格

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

給使用者權限讀取(查詢)特定資料庫

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

給使用者權限讀取特定資料庫的表格

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

給使用者權限在特定資料庫中插入、更新和刪除資料列

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

給使用者權限刪除特定資料庫的表格

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

給使用者權限刪除資料庫

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

給使用者在特定資料庫上所有權限

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

給使用者所有權限

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

撤銷一個權限

撤銷對於 <database>DROP 權限的例子:

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

撤銷所有權限,執行以下命令:

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

你可以執行以下命令來查看單一使用者的權限:

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

tags: [“MySQL”, “使用者權限”, “GRANT”, “REVOKE”]