「エラー: クライアントはサーバーから要求された認証プロトコルをサポートしていません」を解決するための MySQL クライアントのアップグレード
データベースに接続しようとすると、 「クライアントはサーバーが要求した認証プロトコルをサポートしていません」というエラー メッセージが頻繁に表示されます。このエラーは、サーバーが採用している認証プロトコルをクライアントが利用できないことが原因で発生します。この問題を解決するには、MySQL クライアントをアップグレードする必要があります。
このエラーが発生すると、最初にユーザーに権限を付与する試みが行われました。ただし、次のコマンドを実行すると、後続のエラーが発生しました:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'mypassword';
このエラーは、古いバージョンの MySQL Connector/J (5.1.45 以前) を使用していることが原因で発生します。 MySQL 8 は、これらのバージョンではサポートされていない新しい認証メカニズム (caching_sha2_password) を実装しました。
解決策は、MySQL Connector/J 5.1.46 以降にアップグレードすることです。執筆時点の最新バージョンは 8.0.15 で、https://dev.mysql.com/downloads/connector/j/ からダウンロードできます。または、Maven/Gradle で正しいバージョンを指定することもできます。
MySQL クライアントをアップグレードすると、最新の認証プロトコルとの互換性が確保され、「エラー: クライアントはサーバーから要求された認証プロトコルをサポートしていません」という問題が解消されます。
以上がMySQL で「エラー: クライアントはサーバーによって要求された認証プロトコルをサポートしていません」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。