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

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

Linda Hamilton
Linda Hamilton原創
2024-12-10 12:21:10915瀏覽

Why Does My PHP Application Get a

PHP 與MySQL 8.0 連接錯誤:客戶端未知的身份驗證方法

問題描述

PHP與MySQL 8.0資料庫建立連線時發生錯誤:「伺服器請求身份驗證客戶不知道的方法。」此錯誤可能表示指派給資料庫的驗證插件有問題。

回答

MySQL 8 中的預設驗證外掛程式是“auth_socket”,它需要連接客戶端使用基於套接字的驗證。然而,PHP 應用程式通常更喜歡基於密碼的身份驗證。若要解決此問題:

  1. 以 root 使用者身分登入 MySQL: 使用您首選的方法(例如 MySQL Workbench 或命令提示字元)以 root 使用者身分連線到 MySQL 伺服器。
  2. 更改驗證外掛:執行以下SQL指令:

請務必將 'password' 替換為所需的 root 密碼。如果您的應用程式使用其他使用者登錄,請在命令中將“root”替換為適當的使用者名稱。

此指令將“root”使用者(或指定使用者)的驗證外掛程式變更為“mysql_native_password”, ' 支援基於密碼的驗證。

  1. 重新啟動 MySQL:指令執行後,重新啟動 MySQL應用程式變更。具體方法取決於您的作業系統和安裝方法。
  2. 驗證連線:使用 PHP 應用程式重試連線到 MySQL。該錯誤應該不再發生。

其他資訊可以在Digital Ocean 的[安裝MySQL] 文件中找到(https://www.digitalocean.com/community/tutorials/how-to-install -mysql-on-ubuntu- 20-04).

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

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