首頁 >資料庫 >mysql教程 >為什麼我的 Node.JS 應用程式在連接 MySQL 8.0 時出現「客戶端不支援身份驗證協定」錯誤?

為什麼我的 Node.JS 應用程式在連接 MySQL 8.0 時出現「客戶端不支援身份驗證協定」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-17 11:11:24329瀏覽

Why Does My Node.JS App Get a

MySQL 8.0 驗證錯誤:需要客戶端支援

當嘗試從Node.JS 建立與MySQL 8.0 資料庫的連線時,您可能會遇到以下問題:遇到錯誤:「客戶端不支援伺服器請求的身份驗證協定;考慮升級MySQL客戶端。

提供的 Node.JS 程式碼嘗試透過不安全的身份驗證建立連接,但這與 MySQL 8.0 的預設身份驗證協定不相容。要解決此問題,請按照以下步驟操作:

  1. 在MySQL Workbench 中執行以下查詢:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

    將'root' 替換為您的使用者名稱,將'localhost' 替換為您的主機位址,以及帶有您密碼的「密碼」。

  2. 刷新權限使用此查詢:

    flush privileges;
  3. 再次嘗試從 Node.JS 連接。

如果錯誤仍然存在,請嘗試執行不含「@」的相同查詢

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';

確保您的MySQL 用戶端保持最新,以避免在未來。

以上是為什麼我的 Node.JS 應用程式在連接 MySQL 8.0 時出現「客戶端不支援身份驗證協定」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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