錯誤:MySQL 用戶端和伺服器驗證協定不相容
建立與MySQL 資料庫的連線時,您可能會遇到以下錯誤: 「客戶端不支援伺服器要求的驗證協定;考慮升級MySQL 用戶端。」出現此錯誤的原因是您的MySQL用戶端支援的身份驗證協定與伺服器所需的身份驗證協定不相容。
調查和解決
您最初嘗試解決的問題透過授予權限和更新密碼來解決此問題未成功。您收到的錯誤(“ERROR 1064”)表示 SQL 語句中存在語法錯誤。您使用的包含「IDENTIFIED BY 'mypassword'」的 SQL 語句與 MySQL 8.0 或更高版本不相容。
解決方案
問題的根本原因驗證協定不符是因為您使用的是過時版本的 MySQL Connector/J 函式庫。 MySQL 8 引進了一種名為 caching_sha2_password 的新驗證機制,MySQL Connector/J 5.1.45 或更早版本不支援此機制。
要解決此問題,您需要升級到 MySQL Connector/J 5.1.46 或更高版本。在撰寫本文時,該庫的最新版本是 8.0.15。您可以從 MySQL 網站 (https://dev.mysql.com/downloads/connector/j/) 下載最新版本,或在專案的依賴管理系統(例如 Maven 或 Gradle)中指定所需的版本。
升級 MySQL Connector/J 函式庫後,您應該能夠成功建立與 MySQL 伺服器的連接,而不會遇到驗證協定錯誤。
以上是為什麼我的 MySQL 用戶端無法連線以及如何修復「客戶端不支援身份驗證協定」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!