最近、Django を学習するときにデータベースを使用する必要があったため、mysql で使用するために navicat をダウンロードしましたが、接続時に次の問題が発生しました。
オンラインで検索した結果、このエラーの原因は、mysql8 より前のバージョンの暗号化ルールが mysql_native_password であるのに対し、mysql8 以降の暗号化ルールは caching_sha2_password であるためであることがわかりました。
関連する推奨事項: 「Navicat for mysql グラフィック チュートリアル 」
この問題を解決するには 2 つの方法があります。1 つは、この問題を解決するために navicat ドライバーを更新することです。もう 1 つは、mysql ユーザー ログインの暗号化ルールを mysql_native_password に変更することです。
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 接続エラー 2059 が報告された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。