ホームページ >データベース >mysql チュートリアル >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:02521ブラウズ

How to Fix the

Node.js を MySQL に接続するときの ER_NOT_SUPPORTED_AUTH_MODE エラーを解決する

Node.js サーバーを MySQL データベースに接続するときに、「ER_NOT_SUPPORTED_AUTH_MODE: Client doesn't do」というエラーが発生する場合があります。サーバーから要求された認証プロトコルはサポートされていません。」この問題は、クライアントとサーバーが異なる認証方法を使用している場合に発生します。

問題分析

エラー メッセージは、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. 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。