ホームページ > バックエンド開発 > PHPチュートリアル > MySQL 8.0 に接続すると、PHP アプリケーションで「クライアントに不明な認証方法」エラーが発生するのはなぜですか?

MySQL 8.0 に接続すると、PHP アプリケーションで「クライアントに不明な認証方法」エラーが発生するのはなぜですか?

Barbara Streisand
リリース: 2024-12-08 08:56:12
オリジナル
352 人が閲覧しました

Why Does My PHP Application Get

MySQL 8.0 を使用した PHP の認証方法エラー

ユーザーが試行すると、「サーバーはクライアントに不明な認証方法を要求しました」というエラーが発生する場合がありますPHP と MySQL バージョン 8.0 の間の接続を確立するには.

根本原因

このエラーは通常、MySQL で構成された認証プラグインと PHP アプリケーションの期待との間の不一致が原因で発生します。 MySQL 8 では、デフォルトの認証プラグインは「auth_socket」です。これは、アプリケーションがパスワードベースの認証なしで UNIX ソケット接続を利用することを前提としています。

解決策

Toこの問題を解決するには、特定のユーザーまたは MySQL サーバー全体の認証プラグインを変更できます。 「root」ユーザー用に変更する方法は次のとおりです。

  1. 「root」ユーザーとして MySQL にログインします。
  2. 次の SQL コマンドを実行します。
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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート