ホームページ >データベース >mysql チュートリアル >「mysqli_connect 認証方法が不明です ([caching_sha2_password])」エラーが発生するのはなぜですか?

「mysqli_connect 認証方法が不明です ([caching_sha2_password])」エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-17 11:02:26248ブラウズ

Why Am I Getting a

認証エラーが解決されました: mysqli_connect Authentication Method Unknown ([caching_sha2_password])

PHP の mysqli_connect を使用して MySQL データベースに接続するときに、次のような問題が発生する可能性があります。次のエラー: 「サーバーはクライアントに不明な認証方法を要求しました[caching_sha2_password]」。この問題は、MySQL サーバーが caching_sha2_password 認証方法を使用するように構成されている場合に発生します。この認証方法は、特定のユーザー アカウントでネイティブにサポートされていないか、追加の構成が必要な場合があります。

エラーの原因:

caching_sha2_password 認証方法は、MySQL Server がパスワードの保存と認証に使用する安全な方法です。これは古い mysql_native_password メソッドを置き換え、パスワードをハッシュ形式で保存することでセキュリティを強化します。デフォルトでは、特定の条件が満たされた場合、caching_sha2_password がデフォルトの認証方法になります。

問題の解決:

この問題を解決するには、2 つのオプションがあります:

  1. ユーザー アカウントを次のように変換しますmysql_native_password:
  • 次の SQL コマンドを実行して、mysql_native_password 認証方法を使用するようにユーザー アカウントを変換します:
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
  1. MySQLサーバーを変更する構成:
  • MySQL サーバーの構成ファイル (通常は my.cnf という名前) を開き、[mysqld] セクションに移動します。
  • 「default_authentication_plugin」設定を caching_sha2_password からmysql_native_password:
[mysqld]
default_authentication_plugin=mysql_native_password

注: MySQL Server 構成ファイルに変更を加えた後、変更を有効にするために MySQL Server を再起動する必要があります。

で新しいユーザーを作成するmysql_native_password:

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

CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';

追加の考慮事項:

  • データベースへの接続に使用しているユーザーが適切な権限を設定してください。
  • MySQL サーバーのエラー ログで、詳細なコンテキストを提供できる追加のエラー メッセージがないか確認してください。
  • セキュリティをさらに強化するために、MySQL サーバーのパスワード ハッシュ アルゴリズムを更新することを検討してください。

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

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