ホームページ >データベース >mysql チュートリアル >MySQL 8.0 が「サーバーが要求した認証方法がクライアントに不明です」を返すのはなぜですか?

MySQL 8.0 が「サーバーが要求した認証方法がクライアントに不明です」を返すのはなぜですか?

DDD
DDDオリジナル
2024-12-10 20:03:12910ブラウズ

Why Does MySQL 8.0 Return

「サーバーがクライアントに不明な認証方法を要求しました」エラーについて

PHP から MySQL データベースへの接続を確立しようとすると、ユーザーは、「サーバーはクライアントに不明な認証方法を要求しました。」という謎のエラーに遭遇する可能性があります。このエラー コードは SQLSTATE[HY000] に対応し、MySQL バージョン 8.0 以降に由来します。

エラーの理由

この問題の根本原因は通常、 MySQL データベースで使用される認証メカニズムとクライアント アプリケーション (この場合は PHP) の期待との間の不一致。デフォルトでは、MySQL 8.0 は「auth_socket」認証プラグインを採用しますが、多くのアプリケーションはパスワードで保護されたログインによる認証を想定しています。

解決策

この問題に対処するには、ユーザーはクライアント アプリケーションの要件に合わせて、MySQL データベースで使用される認証プラグインを変更する必要があります。手順は次のとおりです。

  1. 「root」ユーザーとして MySQL データベースにアクセスします。
  2. 次の SQL コマンドを実行します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';

Be 「password」を希望の root パスワードに置き換えてください。クライアント アプリケーションが別のユーザーを使用して接続する場合は、コマンド内の 'root' を適切なユーザー名に置き換えてください。

追加の洞察

この問題についての詳しい説明はこちらをご覧ください。 MySQL のインストールに関する Digital Ocean のドキュメント: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04.

以上がMySQL 8.0 が「サーバーが要求した認証方法がクライアントに不明です」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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