一個快速的逐步指南,介紹如何在MySQL上創建用戶。

在安裝MySQL之後,您將擁有 root 用戶。

這是您可能使用的用戶來測試MySQL是否正常工作,但不應該將其用作其他用途的用戶。 為什麼呢?因為它具有過於強大的權限。

有了強大的權力就有了巨大的責任(說的是蜘蛛俠的叔叔)。 特別是,如果犯錯,就會有巨大的危險。

相反,您應該創建特定用戶,這些用戶只有執行其工作所需的權限,並且不再多。 與使用Linux或任何Unix系統一樣,您不希望使用 root 用戶,而是使用您自己的用戶帳戶。

要創建新用戶,使用 root 用戶連接到MySQL:

mysql -u root -p

然後使用以下命令:

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

例如,要創建一個名為 test_user,密碼為 test_password12A 的用戶,運行以下命令:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

命令應返回一行顯示 Query OK, 0 rows affected (X.XX sec)

如果您使用了無效密碼,系統將返回類似於 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 的錯誤消息。 在這種情況下,錯誤消息表示密碼不夠複雜,因為安裝MySQL時我告訴它使用某個密碼策略。

太好了!現在已經創建了用戶,我們可以使用該用戶連接到MySQL。 從命令行退出,只需輸入 QUIT,然後輸入:

mysql -u test_user -p

現在如果我嘗試創建一個數據庫,將收到一個錯誤消息 ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing'

為什麼呢?因為用戶沒有權限創建新數據庫

我們將在另一個教程中介紹如何處理權限問題。

值得一提的是我們用於創建用戶的字符串 @'localhost'。這告訴MySQL該用戶只能從本地主機連接。這在測試和與任何連接到MySQL的應用程序在同一台計算機上運行時是可以的。

當這不是真的,您需要手動輸入該用戶將從哪個IP地址連接,或使用 % 通配符:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

最後,我想展示如何刪除我們創建的用戶:

DROP USER 'test_user'@'localhost';