navicat は、次の図に示すように、mysql に接続するときにエラー 2059 を報告します。
オンライン クエリの後、次のことがわかりました。このエラーの理由は、mysql8 より前のバージョンの暗号化ルールが mysql_native_password であるのに対し、mysql8 以降の暗号化ルールは caching_sha2_password であるためです。
この問題を解決するには 2 つの方法があります。1 つは、navicat ドライバーを更新してこの問題を解決することで、もう 1 つは、mysql ユーザー ログインの暗号化ルールを mysql_native_password に変更することです。
関連する推奨事項: 「Navicat for mysql グラフィック チュートリアル 」
2 番目の方法は、インターネット上のほとんどの提案に基づいて採用されました:
1. 開く管理者権限を持つ cmd で、mysql -u root -p を入力してパスワードを入力し、mysql データベースに入ります;
mysql -u root -p #进入数据库
2. 暗号化ルールとパスワードを変更して更新します;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密码'; #修改密码 FLUSH PRIVILEGES; #刷新数据
通常の状況 続行navicat を使用して mysql に接続すると成功します。ただし、最初のステップで死んでしまい、データベースに入ることができませんでした。
があるかどうかはわかりません。は私と同じ友達です。この状況に遭遇してもパニックにならないでください。cmd では入力が許可されません。mysql クライアントを使用して直接ログインできます。
パスワードを入力し、mysql を入力し、問題を解決するには、2 番目のポイントのコマンドを使用します。
以上がnavicat が mysql に接続するときに発生するエラー 2059 を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。