ホームページ >バックエンド開発 >PHPチュートリアル >mysqli_connect が「クライアントに不明な認証方法 [caching_sha2_password]」で失敗するのはなぜですか? どうすれば修正できますか?
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 設定:
ユーザーの変更認証:
ALTER USER SQL コマンドを使用して、user1 と user2 のパスワードを caching_sha2_password:
と互換性があるように変更します。既存のユーザー:
新規ユーザーの場合:
実装
変更後認証プラグイン設定またはユーザー パスワードを入力すると、mysqli_connect コードは MySQL データベースへの接続を正常に確立します。
結論
根本的な認証の問題を理解し、提供されたソリューションのいずれかを実装することで、 mysqli_connect を caching_sha2_password 認証で使用する場合の「クライアントに不明な認証方法」エラーを解決できます。
以上がmysqli_connect が「クライアントに不明な認証方法 [caching_sha2_password]」で失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。