首頁 > 後端開發 > php教程 > 為什麼我的 PHP 應用程式在連接到 MySQL 8.0 時會出現「客戶端未知的身份驗證方法」錯誤?

為什麼我的 PHP 應用程式在連接到 MySQL 8.0 時會出現「客戶端未知的身份驗證方法」錯誤?

Barbara Streisand
發布: 2024-12-08 08:56:12
原創
352 人瀏覽過

Why Does My PHP Application Get

使用MySQL 8.0 的PHP 中的驗證方法錯誤

使用者在嘗試時可能會遇到錯誤「伺服器要求的驗證方法對客戶端來說未知」在PHP 和MySQL 8.0 版本之間建立連線。

Root原因

此錯誤通常是由於 MySQL 中配置的身份驗證外掛程式與 PHP 應用程式的期望不符而發生。在 MySQL 8 中,預設驗證插件是“auth_socket”,它假定應用程式將使用 UNIX 套接字連接,而不進行基於密碼的身份驗證。

解決方案

至要解決此問題,您可以變更特定使用者或整個 MySQL 伺服器的驗證外掛程式。以下是 'root' 使用者修改的方法:

  1. 以 'root' 使用者身分登入 MySQL。
  2. 執行下列SQL 指令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
登入後複製

說明

此指令將「localhost」上「root」使用者的驗證方法更改為“mysql_native_password”。將“密碼”替換為您想要的密碼。此外,如果您的 PHP 應用程式連接到的使用者或主機與「root」@「localhost」組合不同,您可以指定該使用者或主機。

其他資訊

如果您的應用程式使用非 root 使用者連接到資料庫,請使用適當的使用者修改 SQL 命令中的「root」使用者。確保使用者存在並且擁有存取資料庫所需的權限。

有關設定驗證方法的更多詳細信息,請參閱有關安裝 MySQL 的 Digital Ocean 文件。

以上是為什麼我的 PHP 應用程式在連接到 MySQL 8.0 時會出現「客戶端未知的身份驗證方法」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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