ホームページ > バックエンド開発 > PHPチュートリアル > mysqli_connect が「クライアントに不明な認証方法 [caching_sha2_password]」で失敗するのはなぜですか? どうすれば修正できますか?

mysqli_connect が「クライアントに不明な認証方法 [caching_sha2_password]」で失敗するのはなぜですか? どうすれば修正できますか?

Mary-Kate Olsen
リリース: 2024-12-15 08:27:10
オリジナル
646 人が閲覧しました

Why is mysqli_connect Failing with

mysqli_connect での認証の課題を克服する

mysqli_connect 関数は、PHP でのデータベース接続を容易にします。ただし、caching_sha2_password 認証を使用して MySQL データベースに接続しようとすると、認証の問題が発生する可能性があります。この記事では、根本原因を調査し、この問題の解決策を提供します。

問題

提供されたコード スニペットでは、MySQL Server ini ファイルのdefault_authentication_plugin 設定は次のとおりです。 caching_sha2_password に設定します。この構成により、ユーザーは、対応する caching_sha2_password を持たないユーザー名で認証できなくなります。その結果、「サーバーはクライアントに不明な認証方法を要求しました [caching_sha2_password]」というエラー メッセージが表示されます。

解決策

この問題を解決するには、次の手順を実行します。次のいずれかを実行できます:

  • を変更しますdefault_authentication_plugin 設定:

    • user1 のログインは許可するが user2 は許可しないように mysql_native_password に設定します。
  • ユーザーの変更認証:

    • ALTER USER SQL コマンドを使用して、user1 と user2 のパスワードを caching_sha2_password:

      • と互換性があるように変更します。既存のユーザー:

        • ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
      • 新規ユーザーの場合:

        • CREATE USER 'jeffrey'@'ローカルホスト」 IDENTIFIED WITH mysql_native_password BY 'password';

実装

変更後認証プラグイン設定またはユーザー パスワードを入力すると、mysqli_connect コードは MySQL データベースへの接続を正常に確立します。

結論

根本的な認証の問題を理解し、提供されたソリューションのいずれかを実装することで、 mysqli_connect を caching_sha2_password 認証で使用する場合の「クライアントに不明な認証方法」エラーを解決できます。

以上がmysqli_connect が「クライアントに不明な認証方法 [caching_sha2_password]」で失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート