Navicat Premium が MySQL 8.0 に接続してエラー「1251」を報告する問題を解決する方法の分析

Navicat Premium が MySQL 8.0 に接続してエラー「1251」を報告する問題を解決する方法の分析

長い間何もしていなかった人は、努力をすると一生懸命働いていると思うようになります。

1. 問題

Navicat Premium MySQL 8.0接続するときにエラーを報告します:

1251 - クライアントはサーバーが要求した認証プロトコルをサポートしていません。MySQL クライアントのアップグレードを検討してください。

下位バージョンのNavicat Premiumはmsyql8に接続し、エラーを報告します

2. 理由

MySQL 8.0パスワード認証方法が変更されました。

MySQL 8.0のパスワード認証方法は次のとおりです。

mysql_ネイティブパスワード

より安全なパスワード暗号化方法を提供するために、 MySQL 8.0以降では、デフォルトのパスワード認証方法は次のとおりです。

キャッシュ_sha2_パスワード

エラー1251の理由も明らかです。

クライアントはサーバーが要求した認証プロトコルをサポートしていません。

中国語に翻訳すると、「クライアントはサーバーが要求した認証プロトコルをサポートしていません。」という意味になります。

Navicat Premium 11を使用してMySQL 8.0に接続しています。バージョンが低すぎるため、 caching_sha2_passwordのパスワード暗号化方式をサポートしていません。 !

MySQLコマンドライン ターミナルでは、バージョンとデフォルトのパスワード認証方法を表示できます。

root@プログラマーの一日:/#mysql -u root -p   
パスワードを入力してください: 
MySQL モニターへようこそ。 

マイSQL> 
マイSQL> 
# バージョンを確認するmysql> select version();
+-----------+
| バージョン() |
+-----------+
| 8.0.21 |
+-----------+
セット内の 1 行 (0.00 秒)

マイSQL> 
マイSQL> 
# デフォルトの暗号化方式を表示する mysql> 
mysql> mysql を使用します。

データベースが変更されました

マイSQL> 
mysql> ユーザーからホスト、ユーザー、プラグインを選択します。
+-----------+------------------+------------------------+
| ホスト | ユーザー | プラグイン |
+-----------+------------------+------------------------+
| % | ルート | caching_sha2_password |
| ローカルホスト | mysql.infoschema | caching_sha2_password |
| ローカルホスト | mysql.session | caching_sha2_password |
| ローカルホスト | mysql.sys | caching_sha2_password |
| ローカルホスト | ルート | caching_sha2_password |
+-----------+------------------+------------------------+
セット内の行数は 5 です (0.00 秒)

マイSQL>

ご覧のとおり、 MySQL 8.0すべてのユーザーのデフォルトのパスワード暗号化方法はcaching_sha2_passwordです。

3. 解決策

この問題を解決するには2つの方法があります。

  • 方法 1: MySQL 8.0のパスワード認証方法を変更します。
  • 方法 2: Navicat Premium新しいバージョンをインストールします。

どちらの方法も実行可能ですが、問題が起こりやすいため、暗号化ルールをランダムに変更しないことをお勧めします。そのため、 「方法2」を使用することをお勧めします。

3.1. MySQL 8.0パスワード認証方法を変更する

MySQLコマンドラインターミナルはそれぞれ次の操作を実行します。

# ルートユーザーのパスワードを「123456」に更新します。
# 「123456」を自分のパスワードに置き換える必要があることに注意してください。弱いパスワードは使用しないでください。
ALTER USER 'root'@'localhost' を '123456' によって mysql_native_password で識別します。

# パスワードの更新を有効にするために権限を更新します FLUSH PRIVILEGES;

簡単なデモンストレーション:

ステップ 1: mysqlコマンドライン ターミナルに入ります。

ルート@ed2a490912e5:/#mysql -u ルート -p
パスワードを入力してください: 

マイSQL>

ステップ 2: デフォルトのパスワード認証方法を確認します。

mysql> mysql を使用します。
mysql> ユーザーからホスト、ユーザー、プラグインを選択します。
+-----------+------------------+------------------------+
| ホスト | ユーザー | プラグイン |
+-----------+------------------+------------------------+
| % | ルート | caching_sha2_password |
| ローカルホスト | mysql.infoschema | caching_sha2_password |
| ローカルホスト | mysql.session | caching_sha2_password |
| ローカルホスト | mysql.sys | caching_sha2_password |
| ローカルホスト | ルート | caching_sha2_password |
+-----------+------------------+------------------------+
セット内の行数は 5 です (0.00 秒)

マイSQL>

ご覧のとおり、 rootユーザーのパスワード認証方法はcaching_sha2_passwordです。

ステップ 3: rootユーザーのパスワード認証方法を変更します。別のユーザーの場合は、 root別のユーザー名に置き換えます。パスワードを更新するのと同じです!

mysql> ALTER USER 'root'@'localhost' が mysql_native_password によって '123456' で識別されます。
クエリは正常、影響を受けた行は 0 行 (0.05 秒)

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.04 秒)

ステップ 4: rootユーザーのパスワード認証方法を再度確認します。

mysql> ユーザーからホスト、ユーザー、プラグインを選択します。
+-----------+------------------+------------------------+
| ホスト | ユーザー | プラグイン |
+-----------+------------------+------------------------+
| % | ルート | caching_sha2_password |
| ローカルホスト | mysql.infoschema | caching_sha2_password |
| ローカルホスト | mysql.session | caching_sha2_password |
| ローカルホスト | mysql.sys | caching_sha2_password |
| ローカルホスト | ルート | mysql_native_password |
+-----------+------------------+------------------------+
セット内の行数は 5 です (0.00 秒)

rootユーザーのパスワード認証方法がmysql_native_password変更されていることに注意してください。

Navicat Premium 11を使用してMySQL 8.0に再度接続すると、接続は成功します

接続に成功しました

繰り返しになりますが、パスワード認証方法を変更すると問題が発生する可能性が高く、お勧めできません。

3.2. Navicat Premium新バージョンをインストールする

私のテストによると、 Navicat Premium 12以降のバージョンはMySQL 8.0接続をサポートしています。最新バージョンはNavicat Premium 15です。公式ウェブサイトのダウンロードアドレス:

http://www.navicat.com.cn/download/navicat-premium

インストールは非常に簡単です。インストール パッケージを実行し、プロンプトに従って手順ごとにインストールするだけです。残念ながら、 Navicat Premiumは無料ソフトウェアではなく、永久ライセンスの価格はかなり高価です... 公式サイトの価格はRMB 4,449.0で、エンタープライズバージョンは RMB 10,000 を超えます。貧困は私を泣かせる。

非商用価格見積
エンタープライズ版の見積もり

幸いなことに、それは解読可能です! ! !
詳細については、Navicat Premium 15 永久クラックインストールチュートリアルを参照してください。

免責事項: これは技術的な情報交換のみを目的としています。いかなる法的紛争も私とは一切関係ありません。著作権侵害があった場合は削除いたしますのでご連絡ください。

添付はレンダリングです:

接続に成功しました

Navicat Premium で MySQL 8.0 に接続するときに発生するエラー「1251」の分析と解決に関するこの記事はこれで終わりです。 Navicat Premium で MySQL 8.0 に接続するときに発生するエラーに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Navicat Premium 12がOracleに接続したときにOracleライブラリがロードされない問題を解決します
  • Navicat Premium 12.0.29 のインストールとアクティベーションの超詳細なチュートリアル
  • Navicat グラフィカル インターフェイス Navicat Premium 12 のインストールと使用方法のチュートリアル

<<:  Javascript デザインパターン プロトタイプ モードの詳細

>>:  Dockerコンテナのデータボリュームの詳細な説明

推薦する

MySQL でローカル ユーザーを作成し、データベース権限を付与する方法の例

序文MySQL をインストールすると、通常はスーパーユーザー root を作成します。多くの人がこの...

JSはリクエストディスパッチャーを実装する

目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...

Docker イメージを Docker Hub にプッシュする実装

イメージが正常にビルドされると、Docker 環境があれば使用できますが、イメージを Docker ...

Nginx http ヘルスチェック構成プロセス分析

パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...

uniappの無痛トークンリフレッシュ方法の詳細な説明

フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...

NODE.JS を使用して WEBSERVER を作成する手順

目次Node.jsとはNodeJSをインストールするNode を使用して Hello World を...

HTML テーブルタグチュートリアル (17): テーブルタイトルの垂直配置属性 VALIGN

表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...

Linux で PHP curl 拡張機能をインストールする方法の詳細な説明

この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...

JavaScript イベントバブリング、イベントキャプチャ、イベント委任の詳細な説明

1. イベントバブリング: JavaScript イベント伝播のプロセスでは、要素でイベントがトリガ...

Baota Linux パネル コマンド リスト

目次Pagodaをインストールする管理塔Nginx サービス管理Apache サービス管理MySQL...

psdカット画像をdiv+css形式に変換する

PSD から div css へのウェブページ切り取り例ステップ 1: まず、すべてのタグの内側と外...

訪問者にあなたのウェブサイトを覚えてもらうための3つの便利なコード

訪問者があなたのウェブサイトを覚えておくのに役立つ3つの便利なコード。お気に入りに追加するためのヒン...

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

Tomcat サービスに Java 起動コマンドを追加する方法

私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...

MySQL における varchar 型と char 型の違い

目次前述のVARCHAR型VARCHAR適用可能な状況CHAR型テストVARCHAR(5)とVARC...