首頁 >後端開發 >php教程 >為什麼 mysqli_connect 失敗並顯示「驗證方法未知(caching_sha2_password)」?

為什麼 mysqli_connect 失敗並顯示「驗證方法未知(caching_sha2_password)」?

Linda Hamilton
Linda Hamilton原創
2024-12-13 13:05:10430瀏覽

Why Does mysqli_connect Fail with

mysqli_connect 錯誤:驗證方法未知(caching_sha2_password)

嘗試使用myMyi_connect 向身份驗證:

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

MySQL Server預設認證時出現此錯誤外掛程式設定為 caching_sha2_password,與某些使用者帳戶配置不相容。

故障排除:

要解決此問題,有兩種解決方案:

  1. 更改使用者身分驗證外掛程式:

    執行下列SQL指令來變更受影響使用者的驗證外掛程式:

    ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';

    將使用者名稱和主機名稱替換為適合您的使用者的值。

  2. 修改 MySQL Server Ini檔案:

    編輯MySQL伺服器的ini檔案(my.ini或my.cnf)並將default_authentication_plugin設定變更為mysql_nat ive_password:

    [mysqld]
    default_authentication_plugin=mysql_native_password

    建立後重新啟動MySQL伺服器

其他提示:

  • 其他提示:

    CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
  • 其他提示:

其他提示:

授予必要的更改驗證外掛程式或修改伺服器 ini 檔案後授予使用者的權限。 透過執行下列步驟,即使啟用了 caching_sha2_password 驗證插件,您也可以使用 mysqli_connect 成功向 MySQL 進行驗證。

以上是為什麼 mysqli_connect 失敗並顯示「驗證方法未知(caching_sha2_password)」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn