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”]