MySQL 8.0 - 當客戶端驗證協定錯誤
嘗試使用Node.JS 連線到MySQL 8.0 資料庫時,您可能會遇到以下錯誤message:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
此錯誤表示MySQL客戶端正在使用過時的身份驗證協定與伺服器不相容。
解決方案:
要解決此問題,您可以在MySQL Workbench 中執行以下查詢:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
將“root”替換為您的MySQL使用者名,將「localhost」替換為主機位址,將「密碼」替換為您想要的
執行此查詢後,執行以下查詢來刷新權限:
flush privileges;
現在,再次嘗試使用Node.JS 連接到資料庫。
如果錯誤仍然存在,請嘗試執行不帶@'localhost' 部分的第一個查詢:
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
這應該解決身份驗證協定不匹配的問題,並且讓您成功建立與資料庫的連線。
以上是為什麼使用 Node.JS 連線 MySQL 8.0 時會出現「ER_NOT_SUPPORTED_AUTH_MODE」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!