MySQL 8.0 を使用した PHP 接続エラー: クライアントに不明な認証方法
問題の説明
PHP と MySQL 8.0 データベース間の接続を確立すると、エラーが発生します。 「サーバーはクライアントに不明な認証方法を要求しました。」このエラーは、データベースに割り当てられた認証プラグインに関する問題を示している可能性があります。
回答
MySQL 8 のデフォルトの認証プラグインは 'auth_socket' であり、接続するクライアントが必要です。ソケットベースの認証を使用します。ただし、PHP アプリケーションは通常、パスワードベースの認証を好みます。この問題を解決するには:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
必ず「password」を目的の root パスワードに置き換えてください。アプリケーションが別のユーザーを使用してログインする場合は、コマンド内の「root」を適切なユーザー名に置き換えます。
このコマンドは、「root」ユーザー (または指定されたユーザー) の認証プラグインを「mysql_native_password」に変更します。 ' パスワードベースの認証をサポートします。
追加情報は、Digital Ocean のドキュメント [MySQL のインストール](https://www.digitalocean.com/community/tutorials/how-to-install) で参照できます。 -mysql-on-ubuntu-20-04).
以上がMySQL 8.0 に接続すると、PHP アプリケーションで「クライアントに不明な認証方法」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。