docker で mysql に接続できない場合の解決策

docker で mysql に接続できない場合の解決策

シナリオ: 仮想マシンの Docker コンテナに最新バージョンの MySQL をインストールした後、Navicat を使用してホスト マシン上の仮想マシンの MySQL に接続すると、次のエラーが表示されます。

2059 : 認証プラグイン 'caching_sha2_password' を読み込めません:

解決:

1. まず、docker ps コマンドを使用して実行中のコンテナをチェックし、接続したい mysql が起動していることを確認します。起動していない場合は、docker start コマンドを使用して起動します (下の図の結果は、mysql が起動していることを示しています)

2. 次にdocker exec -it b30062adc08c /bin/bashを実行してmysqlコンテナに入ります。

3. 次に、mysql -u root -p コマンドを入力し、パスワードを入力して、最後にパスワード更新ステートメントを入力します。

ALTER USER 'root'@'%' は '123456' によって mysql_native_password で識別されます。

4. 最後に、MySQL を再起動し、Navicat を使用して正常に接続します。

補足知識: Docker での MySQL へのローカルリモート接続エラーの解決方法 (1251)

エラーは次のとおりです:

理由: MySQL 8.0 はデフォルトで caching_sha2_password 認証メカニズムを使用します。クライアントは新しい暗号化方式をサポートしていません。

解決策: ユーザー(root)の暗号化方法を変更する

1. MySQLコンテナに入り、Dockerに入ります

docker exec -it mysql02 bash

2. MySQLにログインする

mysql -u ルート -p

図に示すように、123456 と入力して Enter キーを押します。

3. ユーザー設定項目を設定する

(1)ユーザー情報を見る

mysql.user からホスト、ユーザー、プラグイン、認証文字列を選択します。

(2)暗号化方式を変更する

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456はmysqlのログインパスワードです

(3)ユーザー情報を再度確認する

mysql.user からホスト、ユーザー、プラグイン、認証文字列を選択します。

(4)Navicateまたは他のデータベースソフトウェアを使用して再度接続すると成功します

(5)補足:コンテナを閉じずに通常通り終了したい場合は、Ctrl+P+Qを押してコンテナを終了できます。

mysqlコンテナを終了する: Ctrl+Dを2回押す

docker で mysql に接続できない問題の解決方法は以上です。エディターが皆さんに共有する内容は以上です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker で MySQL サービスをデプロイする方法と、遭遇する落とし穴
  • Docker で MySQL データベースを使用する方法の詳細説明 (LAN でのアクセス)
  • DockerにMySQL 8.0をインストールする方法
  • DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明
  • Docker に MySQL インスタンスをインストールして実行する
  • dockerログインmysqlエラー問題の実践記録

<<:  JavaScript 日付ツールの概要

>>:  MySQL最適化ツール(推奨)

推薦する

両端揃えレイアウトを実現する CSS 列のサンプルコード

1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...

JavaScriptの基本構文とデータ型の詳細な説明

目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

リクエスト IP の最後のセグメントに基づいてトラフィックを分割するように Nginx を構成する方法

これは主に、場所パラメータのif判断の設定ジャンプです。迂回により、サーバーの負荷と圧力を軽減できま...

CSS3+JS による虫眼鏡モードの完璧な実装の詳細説明

約 1 年前、私は「虫眼鏡効果を模倣するいくつかの方法の原理の分析」という記事を書きました。当時、自...

アイデアを war パッケージにパッケージ化し、tomcat にデプロイしてアクセス パスの問題 (図とテキスト)

Web プロジェクトを war にパッケージ化するアイデアにとって最も重要なことは、アトリフィカを...

MySQL でコミットされていないトランザクションを見つけるための SQL の例の簡単な分析

以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

MySQL 結合バッファの原理

目次1. MySQL 結合バッファ2. JoinBufferCacheストレージスペースの割り当て3...

CSS3 レーダースキャンマップのサンプルコード

CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...

Vue実戦記録のログインページの実装

目次1. 事前準備1.1 Node.jsをインストールする1.2 webpackをインストールする1...

Nginx のアンチホットリンクを設定する方法

実験環境• 最小限のインストール済みの CentOS 7.3 仮想マシン• 構成: 1 コア/512...

MySQL データベース開発仕様 [推奨]

最近、問題のある新しい SQL が本番データベースに入力される数を最小限に抑えるために、開発仕様を整...

Vueベースのカスタムコンポーネントを実装してアイコンを導入する

序文プロジェクト開発では、アイコンを使用する方法はたくさんあります。iconfont で適切なアイコ...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...