次の図に示すように、Navicat に接続するとエラー 1251 が報告されます。
理由
MySQL8.0以降の暗号化ルールは「caching_sha2_password」、MySQL8.0より前のバージョンの暗号化ルールは「mysql_native_password」です。
解決
暗号化ルールを変更し、MySQL ユーザーのログイン パスワード暗号化ルールを「mysql_native_password」に復元します。
具体的な操作を開始しましょう
1. 管理者として cmd を実行し、MySQL の bin ディレクトリに入ります。
2 次の図に示すように、コマンド「mysql -u root -p」を入力し、mysql に入るパスワードを入力します。 3. 最初に、次の図に示すよう
に、コマンド [ ] などの暗号化ルールを変更します。暗号化ルールが変更されているため、パスワードを変更します。パスワードを再入力する必要があります。コマンドは次の図に示すように [ ] です。5. 最後にデータベースを更新します。コマンドは [ ]、次の図に示すように、Navicat を使用して成功します。ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码';
FLUSH PRIVILEGES;
知らせ
localhost は MySQL サービスの IP であり、MySQL の実際のインストール場所に従って入力する必要があります。
方法 2
入力
> ALTER USER 'root' @'localhost' IDENTIFIED WITH caching_sha2_password BY '123456' ;
> SELECT plugin FROM mysql.user WHERE User = 'root';
注: ここで、「123456」は mysql パスワードです。
図に示すように、成功したことを示します。
方法 2 のセルフテスト、方法 1 で成功しました。