MySQL 8.0 を使用した PHP での MySQL サーバー認証エラーのトラブルシューティング
PHP アプリケーションと MySQL 8.0 の間の接続を確立しようとすると、 「サーバーはクライアントに不明な認証方法を要求しました。」というエラーが発生しました。このエラーは、MySQL サーバーが使用する認証方法と PHP クライアントが期待する認証方法が一致しないことが原因で発生します。
根本原因と解決策
通常、MySQL 8.0 は「auth_socket」認証プラグインは、パスワードベースのログインをサポートしません。この問題を解決するには、データベース ユーザーの認証プラグインを変更します。
次の SQL を実行します。コマンド:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
「new_password」を安全なパスワードに置き換えます。アプリケーションが別のユーザーを使用してデータベースに接続する場合は、それに応じて「root」ユーザー名を変更します。
「mysql_native_password」プラグインに切り替えることで、PHP はパスワードを使用して認証できるようになります。
このトピックに関する追加情報とリソースは、Digital Ocean ガイドで参照できます: インストールMySQL。
以上がMySQL 8.0 を使用した PHP で「サーバーはクライアントに不明な認証方法を要求しました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。