首頁 > 資料庫 > mysql教程 > 為什麼我在 MySQL 中收到「使用者\'使用者名稱\'@\'localhost\'\」的存取被拒絕?

為什麼我在 MySQL 中收到「使用者\'使用者名稱\'@\'localhost\'\」的存取被拒絕?

Mary-Kate Olsen
發布: 2024-12-01 16:02:14
原創
354 人瀏覽過

Why Am I Getting

用戶'用戶名'@'localhost'訪問被拒絕

錯誤訊息「SQLSTATE[HY000] [1045]用戶'用戶名'@'localhost'訪問被拒絕'" 表示指定的使用者無權存取資料庫。發生這種情況的原因可能是使用者不存在、密碼不正確或使用者沒有必要的權限。

驗證使用者存在

要檢查使用者是否存在,請執行下列指令query:

SELECT user, host FROM mysql.user
登入後複製

尋找具有指定使用者名稱和主機名稱的行,表示使用者存在。

密碼驗證

如果使用者存在,請透過更新來確認密碼正確:

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password')
登入後複製

授予權限

使用者可能沒有足夠的權限來存取資料庫。使用以下命令授予必要的權限:

GRANT SELECT ON database_name.* TO 'username'@'localhost'
登入後複製

防火牆和連接埠配置

如果上述步驟無法解決問題,請檢查防火牆設定以確保資料庫連接埠(通常是3306)已開放。此外,請驗證 app.php 設定檔中使用者的主機名稱。主機名稱應與 mysql.user 表中使用者的主機列相符。

通配符主機

如果使用者主機設定為 %,則符合任何主機。如果 app.php 配置中的主機名稱與使用者的主機名稱不匹配,這可能會導致問題。明確將使用者的主機變更為 localhost。

刷新權限

MySQL 權限表所做的變更需要由特權使用者執行的 FLUSH PRIVILEGES 語句才能生效:

FLUSH PRIVILEGES
登入後複製

以上是為什麼我在 MySQL 中收到「使用者\'使用者名稱\'@\'localhost\'\」的存取被拒絕?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板