MySQL 8.0 を使用した PHP の認証方法エラー
ユーザーが試行すると、「サーバーはクライアントに不明な認証方法を要求しました」というエラーが発生する場合がありますPHP と MySQL バージョン 8.0 の間の接続を確立するには.
根本原因
このエラーは通常、MySQL で構成された認証プラグインと PHP アプリケーションの期待との間の不一致が原因で発生します。 MySQL 8 では、デフォルトの認証プラグインは「auth_socket」です。これは、アプリケーションがパスワードベースの認証なしで UNIX ソケット接続を利用することを前提としています。
解決策
Toこの問題を解決するには、特定のユーザーまたは MySQL サーバー全体の認証プラグインを変更できます。 「root」ユーザー用に変更する方法は次のとおりです。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
説明
このコマンド「localhost」上の「root」ユーザーの認証方法を「mysql_native_password」に変更します。 「password」を希望のパスワードに置き換えます。さらに、「root」@「localhost」の組み合わせと異なる場合は、PHP アプリケーションが接続するユーザーまたはホストを指定できます。
追加情報
場合アプリケーションが root 以外のユーザーを使用してデータベースに接続している場合は、SQL コマンドの「root」ユーザーを適切なユーザーに変更します。ユーザーが存在し、データベースにアクセスするために必要な権限を持っていることを確認してください。
認証方法の構成の詳細については、MySQL のインストールに関する Digital Ocean のドキュメントを参照してください。
以上がMySQL 8.0 に接続すると、PHP アプリケーションで「クライアントに不明な認証方法」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。