首頁 > 後端開發 > php教程 > 為什麼 mysqli_connect 失敗並顯示「客戶端未知身份驗證方法 [caching_sha2_password]」以及如何修復它?

為什麼 mysqli_connect 失敗並顯示「客戶端未知身份驗證方法 [caching_sha2_password]」以及如何修復它?

Mary-Kate Olsen
發布: 2024-12-15 08:27:10
原創
647 人瀏覽過

Why is mysqli_connect Failing with

克服 mysqli_connect 中的驗證挑戰

mysqli_connect 函數簡化了 PHP 中的資料庫連線。但是,當嘗試使用 caching_sha2_password 驗證連線到 MySQL 資料庫時,使用者可能會遇到驗證問題。本文探討了此問題的根本原因並提供了解決方案。

問題

在提供的程式碼片段中,MySQL Server ini 檔案中的 default_authentication_plugin 設定為設定為 caching_sha2_password。此配置可防止使用者使用沒有對應 caching_sha2_password 的使用者名稱進行身份驗證。結果,顯示錯誤訊息「伺服器請求客戶端未知的身份驗證方法 [caching_sha2_password]」。

解決方案

要解決這個問題,您可以:

  • 更改

      設定為mysql_native_password,允許 user1 登錄,但不允許 user2 登入。
  • 修改使用者驗證:

    • 使用ALTER USER SQL 指令變更user1 和user2 的密碼,使其與caching_sha2_password相容:

      • For現有用戶:

          更改使用者'mysqlUsername'@'localhost' 透過 'mysqlUsernamePassword' 識別mysql_native_password;
      • 對新使用者:

          建立使用者 'jeffrey'@' localhost' 透過 my_native_password辨識'password';

實作

修改外掛程式設定後或使用者密碼,mysqli_connect程式碼將成功建立與M ySQL的連線

結論

透過了解底層身分驗證問題並實現所提供的任一解決方案,您可以克服使用時出現的「客戶端未知的身份驗證方法”錯誤mysqli_connect與 caching_sha2_password 身份驗證。

以上是為什麼 mysqli_connect 失敗並顯示「客戶端未知身份驗證方法 [caching_sha2_password]」以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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