ホームページ >データベース >mysql チュートリアル >MySQL 8.0 認証エラーを修正する方法: Node.JS のクライアント プロトコルの不一致?
MySQL 8.0 認証エラー: クライアント プロトコルの不一致
多くのユーザーが、次を使用して MySQL 8.0 との接続を確立しようとするとエラーが発生します。 Node.JS:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解決策
この問題を解決するには、MySQL Workbench で次のコマンドを実行します。
必ず「root」、「localhost」、「password」を特定のユーザー、ホスト、パスワードに置き換えてください。
上記の方法が失敗した場合は、次のコマンドを含めずに最初のコマンドを実行してみてください。 @'localhost'.
説明
MySQL 8.0 では、デフォルトの認証方式 caching_sha2_password が導入されましたが、これは古い MySQL クライアント バージョンではサポートされていません。ユーザーの認証方法を mysql_native_password に更新すると、クライアントはサーバーで正常に認証できるようになります。
補足事項
接続できない場合root ユーザーを使用して MySQL Workbench にアクセスするには、次を使用して root パスワードをリセットする必要がある場合があります。手順:
- MySQL サービスを停止します。
- --skip-grant-tables オプションを使用して MySQL サービスを開始します。
- MySQL に接続しますパスワードなしの root ユーザーとしてサーバーにアクセスします。
- 次のコマンドを使用して root パスワードをリセットします: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
- MySQL サービスを再起動します。
他のサービスが発生した場合は、問題がある場合は、次のリソースを参照してください:
- MySQLドキュメント: https://dev.mysql.com/doc/refman/5.5/en/old-client.html
- GitHub の問題: https://github.com/mysqljs/mysql/issues/1507
以上がMySQL 8.0 認証エラーを修正する方法: Node.JS のクライアント プロトコルの不一致?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。