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コンテナのデータボリュームの詳細な説明

推薦する

JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は...

なぜ IE6 が最も多くの人に使用されているのでしょうか?

まず第一に、私はウェブデザイナーです。具体的には、私は XHTML フロントエンド デザイナーです。...

jQueryはネストされたタブ機能を実装します

この記事では、ネストされたタブ機能を実装するためのjQueryの具体的なコードを参考までに紹介します...

CSS3を使用してプログレスバー効果を実現し、動的にパーセンテージを追加する

プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...

CentOS7 環境での DHCP 設定チュートリアル

目次CentOS7環境での設定コマンド手順1. DHCP設定ファイルを設定する2. グローバル構成を...

Reactはグローバル箇条書きボックスメソッドをカプセル化します

この記事の例では、Reactカプセル化グローバルポップアップボックスの具体的なコードを参考までに共有...

CentOs でノード バージョンを手動でアップグレードする方法

1. 対応するNode.jsパッケージを見つけます。https://nodejs.org/downl...

MySQLカバーインデックスの利点

一般的な提案は、WHERE 条件のインデックスを作成することですが、これは実際には一方的です。インデ...

Vue ページでよりエレガントに画像を紹介する方法

目次エラーのデモンストレーション計算により画像が変わらない場合は直接インポートするCSS変数による画...

外部ファイル(js/vbs/css)をインポートするときに文字化けを回避する方法

ページ内にはjs、cssなどの外部ファイルが導入されており、外部ファイルのエンコードが現在のページフ...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...

Linux のさまざまなロックメカニズムの使用方法と違いについて詳しく説明します

序文:この知識を理解する必要がある人は、すでにプロセス間通信とスレッド間通信の基本的な理解を持ってい...

ミニマルなウェブサイトデザインの例

Web アプリケーション クラス1. みんなのためにダウンまたは私だけのためにこのウェブサイトは、ウ...

mysql 8.0.12 winx64 のダウンロードとインストールのチュートリアル

MySQL 8.0.12のダウンロードとインストールのチュートリアルは参考までに、具体的な内容は次の...