1. 程式人生 > >如何建立新使用者和授予MySQL中的許可權

如何建立新使用者和授予MySQL中的許可權

使用者需要輸入或定製的生產線將在紅色在本教程!其餘的應該主要是複製和貼上。

關於MySQL

MySQL是一個開源資料庫管理軟體,可幫助使用者儲存,組織和以後檢索資料。它有多種選項來授予特定使用者在表和資料庫中的細微的許可權 - 本教程將簡要介紹一些選項。

如何建立新使用者

MySQL的教程的第1部分中,我們做了所有在MySQL中編輯root使用者,擁有完全訪問所有的資料庫。但是,在可能需要更多限制的情況下,可以使用自定義許可權建立使用者。

讓我們從在MySQL shell中建立一個新使用者開始:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password
';

可悲的是,此時newuser沒有許可權對資料庫執行任何操作。事實上,如果newuser甚至嘗試登入(使用密碼,密碼),他們將無法訪問MySQL shell。

因此,首先要做的是為使用者提供訪問他們將需要的資訊的許可權。

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

此命令中的星號分別表示它們可以訪問的資料庫和表(這些命令允許使用者在所有資料庫和表中讀取,編輯,執行和執行所有任務)。

一旦您確定了要為新使用者設定的許可權,請務必重新載入所有許可權。

FLUSH PRIVILEGES;

您的更改現已生效。

如何授予不同的使用者許可權

以下是使用者可以享受的其他常見可能許可權的簡短列表。

  • ALL PRIVILEGES - 正如我們前面所看到的,這將允許MySQL使用者訪問指定的資料庫(或者如果系統中沒有選擇資料庫)
  • CREATE-允許他們建立新的表或資料庫
  • DROP-允許他們刪除表或資料庫
  • DELETE-允許他們從表中刪除行
  • INSERT-允許它們向表中插入行
  • SELECT-允許他們使用Select命令來讀取資料庫
  • UPDATE-允許他們更新錶行
  • GRANT OPTION - 允許他們授予或刪除其他使用者的許可權

要向特定使用者提供許可權,可以使用此框架:

 GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;

如果要向其授予對任何資料庫或任何表的訪問許可權,請確保在資料庫名稱或表名稱的地方放置星號(*)。

每次更新或更改許可權時,請務必使用Flush Privileges命令。

如果您需要撤消許可權,則結構與授予的結構幾乎相同:

 REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;

正如您可以使用DROP刪除資料庫一樣,您可以使用DROP完全刪除使用者:

 DROP USER ‘demo’@‘localhost’;

要測試您的新使用者,請通過鍵入登出

 quit 

並使用此命令在終端中重新登入:

mysql -u [username]-p