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

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

Linda Hamilton
リリース: 2024-12-10 12:21:10
オリジナル
915 人が閲覧しました

Why Does My PHP Application Get a

MySQL 8.0 を使用した PHP 接続エラー: クライアントに不明な認証方法

問題の説明

PHP と MySQL 8.0 データベース間の接続を確立すると、エラーが発生します。 「サーバーはクライアントに不明な認証方法を要求しました。」このエラーは、データベースに割り当てられた認証プラグインに関する問題を示している可能性があります。

回答

MySQL 8 のデフォルトの認証プラグインは 'auth_socket' であり、接続するクライアントが必要です。ソケットベースの認証を使用します。ただし、PHP アプリケーションは通常、パスワードベースの認証を好みます。この問題を解決するには:

  1. MySQL に root としてログインします: 好みの方法 (MySQL Workbench やコマンド プロンプトなど) を使用して、root ユーザーとして MySQL サーバーに接続します。
  2. 認証プラグインを変更します: 次の SQL を実行しますコマンド:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
ログイン後にコピー

必ず「password」を目的の root パスワードに置き換えてください。アプリケーションが別のユーザーを使用してログインする場合は、コマンド内の「root」を適切なユーザー名に置き換えます。

このコマンドは、「root」ユーザー (または指定されたユーザー) の認証プラグインを「mysql_native_password」に変更します。 ' パスワードベースの認証をサポートします。

  1. MySQL を再起動します:コマンドが実行されると、MySQL を再起動して変更を適用します。具体的な方法は、オペレーティング システムとインストール方法によって異なります。
  2. 接続の確認: PHP アプリケーションを使用して MySQL への接続を再試行します。エラーはもう発生しません。

追加情報は、Digital Ocean のドキュメント [MySQL のインストール](https://www.digitalocean.com/community/tutorials/how-to-install) で参照できます。 -mysql-on-ubuntu-20-04).

以上がMySQL 8.0 に接続すると、PHP アプリケーションで「クライアントに不明な認証方法」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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