使用MySQL 8.0 的PHP 中的驗證方法錯誤
使用者在嘗試時可能會遇到錯誤「伺服器要求的驗證方法對客戶端來說未知」在PHP 和MySQL 8.0 版本之間建立連線。
Root原因
此錯誤通常是由於 MySQL 中配置的身份驗證外掛程式與 PHP 應用程式的期望不符而發生。在 MySQL 8 中,預設驗證插件是“auth_socket”,它假定應用程式將使用 UNIX 套接字連接,而不進行基於密碼的身份驗證。
解決方案
至要解決此問題,您可以變更特定使用者或整個 MySQL 伺服器的驗證外掛程式。以下是 'root' 使用者修改的方法:
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中文網其他相關文章!