MySQL 8.0 驗證錯誤:客戶端協定不符
許多使用者正在嘗試使用 MySQL 8.0建立連線時遇到錯誤Node.JS:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解決方案
要解決此問題,請在MySQL Workbench 中執行以下命令:
確保將 'root'、'localhost' 和 'password' 替換為您的特定使用者、主機和密碼。
如果上述方法失敗,請嘗試執行第一條命令,不包含@'localhost'.
說明
MySQL 8.0 引入了預設的caching_sha2_password 驗證方法,較舊的MySQL 用戶端版本不支援此方法。透過將使用者的身份驗證方法更新為 mysql_native_password,客戶端可以成功與伺服器進行身份驗證。
附加說明
如果無法連線使用root 使用者登入MySQL Workbench,您可能需要使用下列指令重設 密碼步驟:
- 停止MySQL 服務。
- 使用 --skip-grant-tables 選項啟動 MySQL 服務。
- 連接到 MySQL伺服器作為 root 用戶,沒有密碼。
- 使用下列指令重設 root 密碼:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
- 重新啟動 MySQL 服務。
如果遇到任何其他問題,請參閱下列資源:
- MySQL 文件: https://dev .mysql.com/doc/refman/5.5/en/old-client.html
- GitHub問題:https://github.com/mysqljs/mysql/issues/1507
以上是如何修復 MySQL 8.0 身份驗證錯誤:Node.JS 中的客戶端協定不符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!