コンピューターを再インストールし、最新バージョンの MySQL データベースをインストールしました。その結果、Mysql への接続時に Navicat は 1251 エラーを報告し、SQL は 2058 エラーを報告しました。 window コマンドで mysql が入力され、アカウントとパスワードは正しかったです。
関連する推奨事項: 「Navicat for mysql グラフィック チュートリアル 」
オンラインでこの原因が以前のバージョンの mysql8 にあることを確認しましたでは、暗号化ルールは mysql_native_password でしたが、mysql8 以降では、暗号化ルールは caching_sha2_password になりました。
この問題を解決するには 2 つの方法があります。1 つは navicat ドライバーをアップグレードすること、もう 1 つは mysql ユーザーのログイン パスワード暗号化ルールを mysql_native_password に復元することです。
私は通常 2 番目の方法を使用します:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
多くの人がコマンドを直接コピーしているのを見かけますが、これは間違いです。
「root」は定義したユーザー名です。
「localhost」はそれを指します。ユーザーが開いた IP です。「localhost」 (ローカル アクセスのみ、127.0.0.1 に相当)、特定の「*.*.*.*」 (特定の IP)、または'%' (すべての IP にアクセス可能)
'password' は使用するユーザーのパスワードです
###このようにして、問題は解決されます。 ###以上がmysql への接続時に navicat で 1251 エラーが表示された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。