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

MySQL 8.0 での Node.js 認証の問題を解決するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 20:44:16556ブラウズ

How Can I Solve Node.js Authentication Problems with MySQL 8.0?

Node.js が MySQL 8.0 に対して認証できない

Node.js アプリケーションでは、アップグレード後に MySQL データベースへの接続が困難になりますMySQL 8.0に。この問題は、新しい caching_sha2_password ハッシュ方式を使用する root アカウントに起因します。

認証メカニズムの違い

MySQL 8.0 では、新しいデフォルトの認証プラグイン caching_sha2_password が導入されましたが、MySQL 5.7 では、このプラグインが採用されました。 mysql_native_password。残念ながら、MySQL 用の現在の Node.js ドライバーは、互換性のあるクライアント側の認証メカニズムをサポートしていません。

接続を確立するための回避策

回避策の 1 つは、root ユーザー アカウントを次のように変更することです。古い mysql_native_password プラグインを利用します:

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

または、同じ認証プラグインを使用して新しいユーザーを作成できます:

CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';

代替コネクタ

X プロトコルに基づく公式 MySQL Node.js コネクタは、新しい認証モードであり、実行可能な代替手段を提供します。

のプル リクエスト解決策

コミュニティ MySQL ドライバー内でこの問題に対処するためのプル リクエストが現在進行中です。

結論

Node.js アプリケーション上記の回避策を使用するか、ネイティブ サポートを提供する公式 MySQL Node.js コネクタを使用することで、MySQL 8.0 に正常に接続できます。新しい認証メカニズム用。

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

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