ホームページ >バックエンド開発 >PHPチュートリアル >mysqli_connect が「認証方法が不明 (caching_sha2_password)」で失敗するのはなぜですか?

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 13:05:10430ブラウズ

Why Does mysqli_connect Fail with

mysqli_connect エラー: 認証方法が不明です (caching_sha2_password)

mysqli_connect を使用して MySQL で認証しようとすると、次のエラーが発生する場合があります:

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

このエラーが発生しますMySQL サーバーのデフォルトの認証プラグインが caching_sha2_password に設定されている場合、これは特定のユーザー アカウント構成と互換性がありません。

トラブルシューティング:

この問題を解決するには、次の 2 つの解決策があります。利用可能:

  1. ユーザー認証プラグインの変更:

    次の SQL コマンドを実行して、影響を受けるユーザーの認証プラグインを変更します:

    ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';

    ユーザー名とホスト名を適切な値に置き換えます。 user.

  2. MySQL Server Ini ファイルの変更:

    MySQL Server の ini ファイル (my.ini または my.cnf) を編集し、 default_authentication_plugin の設定をmysql_native_password:

    [mysqld]
    default_authentication_plugin=mysql_native_password

    変更を加えた後、MySQL サーバーを再起動します。

追加のヒント:

  • 新しいユーザーを作成する場合は、次のコマンドを使用します。 mysql_native_password 認証:

    CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
  • 認証プラグインを変更するかサーバー ini ファイルを変更した後、必要な権限をユーザーに付与します。

次の手順に従うことで、次のことができます。 caching_sha2_password 認証プラグインが使用されている場合でも、mysqli_connect を使用して MySQL で正常に認証されます。有効になりました。

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

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