導讀 | MySQL是一個開源數據庫管理軟件,可幫助用戶存儲,組織和之後檢索數據。 它有多種選項來授予特定用戶在表和數據庫中的細微的權限 - 本教程將簡要介紹一些選項。 |
如何建立新用戶html
在MySQL的教程的第1部分中,咱們作了全部在MySQL中編輯root用戶,擁有徹底訪問全部的數據庫。 可是,在可能須要更多限制的狀況下,可使用自定義權限建立用戶。mysql
讓咱們從在MySQL shell中建立一個新用戶開始:linux
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
可悲的是,此時newuser沒有權限對數據庫執行任何操做。 事實上,若是newuser甚至嘗試登陸(使用密碼,密碼),他們將沒法訪問MySQL shell。sql
所以,首先要作的是爲用戶提供訪問他們將須要的信息的權限。shell
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
此命令中的星號分別表示它們能夠訪問的數據庫和表(這些命令容許用戶在全部數據庫和表中讀取,編輯,執行和執行全部任務)。數據庫
一旦您肯定了要爲新用戶設置的權限,請務必從新加載全部權限。框架
FLUSH PRIVILEGES;
您的更改現已生效。測試
如何授予不一樣的用戶權限ui
如下是用戶能夠享受的其餘常見可能權限的簡短列表。htm
ALL PRIVILEGES - 正如咱們前面所看到的,這將容許MySQL用戶訪問指定的數據庫(或者若是系統中沒有選擇數據庫) CREATE-容許他們建立新的表或數據庫 DROP-容許他們刪除表或數據庫 DELETE-容許他們從表中刪除行 INSERT-容許它們向表中插入行 SELECT-容許他們使用Select命令來讀取數據庫 UPDATE-容許他們更新錶行 GRANT OPTION - 容許他們授予或刪除其餘用戶的權限
要向特定用戶提供權限,可使用此框架:
GRANT [type of permission] ON [database name].[table 「」 not found /] TO ‘[username]’@'localhost’;
若是要向其授予對任何數據庫或任何表的訪問權限,請確保在數據庫名稱或表名稱的地方放置星號(*)。
每次更新或更改權限時,請務必使用Flush Privileges命令。
若是您須要撤消權限,則結構與授予的結構幾乎相同:
REVOKE [type of permission] ON [database name].[table 「」 not found /] FROM ‘[username]’@‘localhost’;
正如您可使用DROP刪除數據庫同樣,您可使用DROP徹底刪除用戶:
DROP USER ‘demo’@‘localhost’;
要測試您的新用戶,請經過鍵入註銷
quit
並使用此命令在終端中從新登陸:
mysql -u [username]-p
原文來自:https://www.linuxprobe.com/grant-permissions-mysql.html