建立新用戶和授予MySQL中的權限教程

導讀 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

相關文章
相關標籤/搜索