ホームページ > データベース > mysql チュートリアル > mysqli_connect() が「認証方法が不明 (Caching_sha2_password)」で失敗するのはなぜですか?

mysqli_connect() が「認証方法が不明 (Caching_sha2_password)」で失敗するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-21 22:54:34
オリジナル
897 人が閲覧しました

Why Does mysqli_connect() Fail with

mysqli_connect: Authentication Method Unknown (Caching_sha2_password)

背景:

MySQL の mysqli_connect を使用する場合() 関数ではエラーが発生する可能性があります発生: 「エラー: mysqli_connect(): サーバーはクライアントに不明な認証方法を要求しました。」これは、サーバーが使用する認証方法とクライアントが実装する認証方法が一致しないことを示します。

具体的には、MySQL サーバーが caching_sha2_password 認証方法を使用するように設定されている場合、クライアントが caching_sha2_password 認証方法をサポートしていない場合にエラーが発生する可能性があります。または、そのメソッドを使用するように構成されていません。

トラブルシューティングと解決策:

この場合、MySQL サーバーは caching_sha2_password 認証を使用するように構成されていますが、PHP クライアントにはこれを処理する機能がありません。この問題を解決するには、次の手順を実行します。

1. MySQL サーバー構成の変更:

MySQL の ini ファイル (Windows では my.ini、Linux では /etc/my.cnf) のdefault_authentication_plugin 設定を caching_sha2_password から mysql_native_password に変更します。これにより、サーバーは古い認証方法を使用できるようになります。

2. PHP クライアントの更新:

PHP MySQL クライアントを、caching_sha2_password 認証をサポートするバージョンにアップグレードします。ただし、サーバー構成の変更により問題が解決されるため、これは必要ない場合があります。

3.ユーザー認証の設定:

MySQL で次の SQL コマンドを実行します:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
ログイン後にコピー

このコマンドは、指定されたユーザーの認証方法を mysql_native_password に変更し、ユーザーがパスワードに関係なく接続できるようにします。サーバーの caching_sha2_password 設定。

以上がmysqli_connect() が「認証方法が不明 (Caching_sha2_password)」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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