首頁  >  文章  >  資料庫  >  如何修復 Node.js 連接 MySQL 時出現“ER_NOT_SUPPORTED_AUTH_MODE”錯誤?

如何修復 Node.js 連接 MySQL 時出現“ER_NOT_SUPPORTED_AUTH_MODE”錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-17 15:20:02452瀏覽

How to Fix the

解決將Node.js 連接到MySQL 時出現的ER_NOT_SUPPORTED_AUTH_MODE 錯誤

將Node.js 伺服器連線到Client does不支援伺服器要求的身份驗證協定。

問題分析

錯誤訊息顯示 MySQL 伺服器配置為使用較新的驗證協定Node.js 用戶端不支援。如果 Node.js 用戶端版本過時,就會出現這種情況。

解決方案

要解決此問題,請升級 Node.js 用戶端以支援使用的較新身份驗證協定由MySQL伺服器。對於 MySQL v8.0,請按照以下步驟操作:

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

請記得將「root」和「password」替換為實際使用者名稱和所需密碼。這些變更需要應用於嘗試連線的使用者。

程式碼片段(已更新)

更新MySQL 配置和使用者權限後,Node.應更新Node.js 連接片段以使用mysql2 函式庫支援較新的驗證協定:

    const mysql = require('mysql2');

    const connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'password',
        database : 'foobarDb'
    });

透過實作下列步驟,您可以成功在Node.js 伺服器和MySQL 資料庫之間建立連接,消除「ER_NOT_SUPPORTED_AUTH_MODE」錯誤。

以上是如何修復 Node.js 連接 MySQL 時出現“ER_NOT_SUPPORTED_AUTH_MODE”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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