「MySQL 8.0: 認証エラーが解決されました - クライアントの非互換性」
ユーザーに「クライアントはサーバーから要求された認証プロトコルをサポートしていません」エラーが発生するMySQL 8.0 に接続しようとすると、この問題が頻繁に発生します。これは、MySQL クライアントのバージョンが MySQL サーバーで使用される認証プロトコルと互換性がない場合に発生します。
問題の理解
MySQL 8.0 では、SCRAM と呼ばれる新しい認証方法が導入されました。 SHA-256。 MySQL クライアントがこのメソッドをサポートしていない場合、接続の確立に失敗し、上記のエラーが発生します。
解決策:
1.クライアントの互換性の確認:
MySQL クライアントのバージョンが MySQL 8.0 と互換性があるかどうかを確認します。そうでない場合は、クライアントを最新バージョンにアップグレードします。
2.ユーザー認証のリセット:
MySQL Workbench または別のツールを使用して、次のクエリを実行します:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
「root」と「password」を実際のユーザー名とパスワードに置き換えてください。 、それぞれ
3.接続の再試行:
提供されたnode.js コードを使用して、MySQL サーバーへの接続の確立を再度試みます。 SCRAM-SHA-256 認証方法がクライアントでサポートされている場合、接続は正常に確立されます。
4.代替修正:
上記の手順で問題が解決しない場合は、ALTER USER クエリのユーザー仕様から @'localhost' 部分を削除します。つまり、
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
5.アクティブな接続を確認します:
MySQL コンソールをチェックするか、次のクエリを実行して接続がアクティブであることを確認します:
SELECT USER();
ユーザー名が返された場合、接続は正常に確立されています。 .
以上がMySQL 8.0 認証エラー:「クライアントはサーバーによって要求された認証プロトコルをサポートしていません」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。