ホームページ >データベース >mysql チュートリアル >MySQL 8.0 の caching_sha2_password による Node.js 認証エラーを修正するにはどうすればよいですか?
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 つの方法があります。オプション:
ユーザー アカウントの認証プラグインを変更します:
既存の「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';
公式 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 サイトの他の関連記事を参照してください。