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最適化ツール(推奨)

推薦する

MySQL を解凍してインストールおよび完全に削除する方法の詳細なグラフィック説明

1. MySQLをインストールする(1)ダウンロードしたMySQLの圧縮ファイルをMySQLをインス...

HTML/XHTML における img 画像タグの基本的な使用法の詳細な説明

画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...

WeChatミニプログラムビデオ集中砲火位置ランダム

この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...

Tomcat を IDEA にダウンロード、インストール、デプロイするチュートリアル (IDEA の 2 つのホット デプロイ設定方法付き)

目次Tomcat ダウンロードチュートリアルTomcat インストールチュートリアルTomcat の...

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

Vue ルーティングフォールバックに最適なソリューション (vue-route-manager)

目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...

Linuxにグラフィカルインターフェースをインストールする方法

1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

JSアルバム画像の揺れと拡大表示効果のサンプルコード

前回の記事では、JS を使って簡単な揺れ効果を実現する方法を紹介しました。ご興味があればクリックして...

2012年のベストWebデザイン作品レビュー[パート1]

新年の初めに、友人の健康と2013年が素晴らしい年となることを心からお祈りいたします。この記事では、...

JDBC を MySQL 5.7 に接続する方法

1. まずMySQLとEclipseの環境を準備します。環境がセットアップされたら、Eclipseの...

Angularコンポーネントの仲介モードの詳細な説明

目次1. 仲介業者モデル2. 例1. 見積コンポーネントに購入ボタンを追加する2. 親コンポーネント...

VirtualBox6上のCentOS7で静的IPを設定する方法と注意点

VirtualBox をインストールした後、CentOS 7 をインストールします。ここでは詳細には...

Zabbix は MySQL インスタンス メソッドを監視します

1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...

Webデザインの経験:ナビゲーションシステムをシンプルにする

<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...