ホームページ >データベース >mysql チュートリアル >MySQL 8.0 で PHP から接続すると「サーバーが要求した認証方法がクライアントに不明です」というエラーが表示されるのはなぜですか?

MySQL 8.0 で PHP から接続すると「サーバーが要求した認証方法がクライアントに不明です」というエラーが表示されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-11 14:37:10382ブラウズ

Why is MySQL 8.0  Giving Me

MySQL 8.0 での PHP 接続の問題 : MySQL データベースへの接続時の「サーバーがクライアントに不明な認証方法を要求しました」エラー

が明らかにPHP から実行すると、「サーバーはクライアントに不明な認証方法を要求しました。」というイライラするエラーが発生する場合があります。このエラーは通常、サーバーとクライアントが異なる方法を使用して認証しようとしているときに発生します。

MySQL 8 のデフォルトの認証プラグインは auth_socket であり、パスワードを使用してログインすることを想定しているほとんどの PHP アプリケーションと互換性がありません。この問題を解決するには、次の SQL コマンドを実行して、認証プラグインを mysql_native_password に変更します:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';

「password」を MySQL root パスワードまたは PHP アプリケーションが使用するユーザーのパスワードに置き換えます。

この変更を行うと、PHP アプリケーションは問題が発生することなく MySQL データベースに接続できるようになります。 「認証方法が不明です」エラー。この問題と考えられる回避策の詳細については、MySQL のインストールと構成に関する Digital Ocean の記事を参照してください。

以上がMySQL 8.0 で PHP から接続すると「サーバーが要求した認証方法がクライアントに不明です」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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