MySQL 存取被拒絕錯誤:故障排除和解決方案
嘗試執行MySQL 查詢時,您可能會遇到「ERROR 1044 ( 42000):用戶'''@'localhost' 存取資料庫'db' 時被拒絕」訊息。此錯誤表示目前使用者沒有足夠的權限來存取所要求的資料庫。
理解錯誤
錯誤訊息「存取被拒絕」表示使用者嘗試執行該查詢沒有連接到資料庫或執行所需操作所需的權限。在這種特定情況下,嘗試建立與資料庫的連接的使用者被識別為來自本地主機的空字串 ('')。
辨識根本原因
要解決該錯誤,檢查使用者帳號設定和權限非常重要。您可以使用「show grants」指令來顯示目前使用者所授予的權限。在提供的範例中,顯示了以下授予:
GRANT USAGE ON *.* TO ''@'localhost'
此輸出表示來自本地主機的空字串使用者已被授予對所有資料庫的 USAGE 權限。雖然這允許使用者連接到 MySQL,但它不會授予建立或操作資料庫或表格的權限。
解決問題
要解決該錯誤,您可以向所需的使用者授予必要的權限。但是,由於您目前沒有任何使用者 ID,因此您需要建立一個。但是,您需要建立一個具有必要權限的使用者帳戶來執行 CREATE USER 操作。
使用 Root 帳戶
確保您擁有所需的權限權限,您可以嘗試使用 root 帳戶連接 MySQL。在提供的範例中,以 root 身分進行連線的初始嘗試未成功。要以 root 身分登錄,您應該在 Bash shell 中執行以下命令,而不是在 MySQL 命令列中:
mysql -u root -p
出現提示時輸入 root 密碼。以 root 身分登入後,您可以繼續建立具有所需權限的新使用者。
以上是MySQL 存取被拒絕:如何排查並解決「使用者 ''@'localhost' 的存取被拒絕」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!