ホームページ >バックエンド開発 >PHPチュートリアル >MySQLi 認証エラー: クライアントが「不明なメソッド」と言うのはなぜですか?
MySQLi Connect 認証エラー: 不明なメソッド
mysqli_connect を使用して MySQL データベースへの認証を試みると、ユーザーはエラー メッセージ「サーバーがクライアントに不明な認証方法を要求しました。」このエラーは、MySQL Server INI ファイルに設定されているサーバーのデフォルトの認証プラグインがクライアントによって認識されない場合に発生します。
このエラーを理解するには、関連する MySQL Server INI ファイル設定を詳しく調べることが重要です。デフォルトでは、MySQL は認証に caching_sha2_password プラグインを使用します。ただし、一部のクライアントはこの方法をサポートしていない場合があります。提供されたコードでは、デフォルトの認証プラグインは caching_sha2_password に設定されています。
この問題を解決するには、認証プラグインを mysql_native_password に切り替えることができます。この従来の認証方法は、古いクライアントと互換性があります。 INI ファイルを変更して、default_authentication_plugin=mysql_native_password を指定すると、サーバーは mysql_native_password メソッドを使用した接続を許可します。
ただし、目的が caching_sha2_password 認証メソッドを使用することである場合、クライアントがこのメソッドをサポートしていることを確認することが重要です。 。あるいは、ユーザーは MySQL データベースを変更して、特定のユーザーに対して mysql_native_password を使用した接続を許可することもできます。これは、次の SQL コマンドを使用して実現できます。
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
「mysqlUsername」と「mysqlUsernamePassword」を適切な値に置き換えることで、mysql_native_password 認証方法を使用するように既存のユーザーを変更できます。または、CREATE USER ステートメントと IDENTIFIED WITH mysql_native_password 句を使用して新しいユーザーを作成することもできます。
要約すると、「クライアントに不明な認証方法」エラーは、mysql_native_password 認証プラグインに切り替えるか、またはデータベースを変更して、特定のユーザーに対してこの従来の方法を使用した接続を許可します。具体的なアプローチは、クライアントとデータベース システムのセキュリティ要件によって異なります。
以上がMySQLi 認証エラー: クライアントが「不明なメソッド」と言うのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。