MySQL 8.0 - クライアント認証プロトコル エラー
Node.JS を使用して MySQL 8.0 データベースに接続しようとすると、エラーが発生する場合がありますメッセージ:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
このエラーは、MySQL がクライアントは、サーバーと互換性のない古い認証プロトコルを使用しています。
解決策:
この問題を解決するには、MySQL Workbench で次のクエリを実行できます。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
「root」を MySQL ユーザー名に、「localhost」をホスト アドレスに置き換えます。 「password」を希望のパスワードに置き換えます。
このクエリを実行した後、次のクエリを実行して権限を更新します。
flush privileges;
次に、Node.JS を使用してデータベースへの接続を再度試みます。
エラーが解決しない場合は、@'localhost' を付けずに最初のクエリを実行してみてください。部分:
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
これにより、認証プロトコルの不一致が解決され、データベースへの接続を正常に確立できるようになります。
以上がNode.JS を使用して MySQL 8.0 に接続すると「ER_NOT_SUPPORTED_AUTH_MODE」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。