ホームページ >データベース >mysql チュートリアル >MySQL 8.0 の caching_sha2_password による Node.js 認証エラーを修正するにはどうすればよいですか?

MySQL 8.0 の caching_sha2_password による Node.js 認証エラーを修正するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 04:42:13389ブラウズ

How Can I Fix Node.js Authentication Errors with MySQL 8.0's caching_sha2_password?

MySQL 8.0 での Node.js 認証の問題

MySQL 8.0 への最近のアップグレードにより、MySQL 8.0 に接続する Node.js アプリケーションに認証チャレンジが導入されました。 MySQL データベース。 MySQL 8.0 は、新しいデフォルト認証プラグイン caching_sha2_password を採用していますが、現在のコミュニティ MySQL 用 Node.js ドライバーには、サポートする互換性のあるクライアント側認証メカニズムがありません。

問題:

Node.js アプリケーションが MySQL 8.0 データベースに対して正常に認証できないため、認証プラグインの不一致により、認証中に「ER_NOT_SUPPORTED_AUTH_MODE」エラーが発生します。

回避策:

この問題を回避するには、次の 2 つの方法があります。オプション:

  1. ユーザー アカウントの認証プラグインを変更します:

    既存の「root」ユーザー アカウントを変更するか、新しいユーザー アカウントを作成して、以前の認証プラグイン、mysql_native_password。これは、次の SQL コマンドを通じて実現できます。

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
    
    CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
  2. 公式 MySQL Node.js コネクタを使用します。

    公式 MySQL を利用します。 Node.js コネクタ。X プロトコルに基づいており、MySQL で使用される新しい認証モードをネイティブにサポートします。 8.0.

将来の解決策:

この問題に対処するためのプル リクエストが現在、コミュニティ MySQL 用 Node.js ドライバーで開発中です。マージされてリリースされると、このアップデートは MySQL 8.0 の新しい認証モードを適切にサポートするようになります。

以上がMySQL 8.0 の caching_sha2_password による Node.js 認証エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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