首頁 > 資料庫 > mysql教程 > 為什麼我會收到用戶「test2」@「localhost」的 MySQL「存取被拒絕」錯誤?

為什麼我會收到用戶「test2」@「localhost」的 MySQL「存取被拒絕」錯誤?

Susan Sarandon
發布: 2024-11-30 05:46:14
原創
908 人瀏覽過

Why am I Getting a MySQL

MySQL 存取被拒絕錯誤:'test2'@'localhost'

遇到錯誤「SQLSTATE[HY000] [1045] 存取拒絕時for user 'test2'@'localhost'",它表示嘗試以使用者'test2' 的身份連接MySQL 資料庫主機“localhost”由於憑證或授權問題而失敗。

根本原因

出現此錯誤的原因有多種:

  • 憑證不正確:確保用戶名稱“test2”和密碼“computer”應用程式配置(app.php) 中提供的參數均有效。
  • 使用者未建立: 驗證資料庫中是否存在名為「test2」的 MySQL 使用者。您可以透過以特權使用者(例如 root)身分執行下列查詢來檢查這一點:

    SELECT user, host FROM mysql.user WHERE user = 'test2';
    登入後複製

    如果查詢不回傳行,則該使用者不存在。

  • 使用者存取限制:即使使用者存在,也可能沒有足夠的權限連接到資料庫或存取指定的資料庫(工作)。檢查授予使用者的作業資料庫權限。

故障排除步驟

要解決此問題,請按照以下步驟操作:

  1. 驗證憑證:重新輸入用戶名和密碼以確保
  2. 建立資料庫用戶(如果缺少):如果未找到「test2」用戶,請使用以下查詢建立它:

    CREATE USER 'test2'@'localhost' IDENTIFIED BY 'computer';
    登入後複製
  3. 授予權限:確保「test2」使用者俱有存取作業資料庫所需的權限。以特權使用者身分執行以下查詢:

    GRANT SELECT, UPDATE, INSERT, DELETE ON jobs.* TO 'test2'@'localhost';
    登入後複製
  4. 刷新權限: 對權限進行更改後,刷新它們以確保它們生效:

    FLUSH PRIVILEGES;
    登入後複製

額外注意事項

  • 檢查連接字串中的主機值。它應該與運行 MySQL 伺服器的主機相符。在這種情況下,如果您連接到同一台電腦上的資料庫,則「localhost」是正確的。
  • 停用任何可能阻止連線的防火牆或防毒軟體。
  • 考慮更改主機名稱將資料庫使用者設定為“%”,這允許來自任何主機的連線。但是,這比指定特定主機名稱安全性較低。

以上是為什麼我會收到用戶「test2」@「localhost」的 MySQL「存取被拒絕」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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