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属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

Linuxサーバー間のリアルタイムファイル同期の実現

使用シナリオ既存のサーバー A と B の場合、サーバー A の指定されたディレクトリ (たとえば、...

Linuxコマンド履歴の調整方法の詳細な説明

Linux システムの bash history コマンドは、以前に実行したコマンドを記憶し、再入力...

MySQL データベースの手動およびスケジュールされたバックアップ手順

目次手動バックアップタイマーバックアップ手動バックアップ1) cmd コンソール: mysqldum...

nginx proxy_cache キャッシュ設定の詳細な説明

序文:私は仕事柄、オンラインライブストリーミングの分野に携わっており、ビデオの再生やダウンロードには...

Linux に ASPNET.Core3.0 ランタイムをインストールするためのサンプル コード

# 以下の例は x64 ビット ランタイム v3.0.0 用です mkdir /runtimes ...

mysql-canal-rabbitmq のインストールと展開の非常に詳細なチュートリアル

目次1.1. MySQL binlog を有効にする1.2. RabbitMQ の交換とキューを構成...

MySQL 全体または単一のテーブルデータのエクスポート

単一のテーブルをエクスポートするmysqldump -u ユーザー -p db名 テーブル名 >...

LeetCode の SQL 実装 (177. 給与が N 番目に高い)

[LeetCode] 177. 最も高い給与従業員テーブルからn番目に高い給与を取得する SQL ...

18 個のキラー JavaScript ワンライナー

序文JavaScript は習得が最も簡単な言語の 1 つであるため、成長と繁栄を続けており、市場に...

Linux 上の MariaDB は root ユーザーで起動します (推奨)

最近、セキュリティ製品をテストする必要があったため、mariadb の起動ユーザーを root に調...

MySQL カーソルの原理と使用例の分析

この記事では、例を使用して MySQL カーソルの原理と使用方法を説明します。ご参考までに、詳細は以...

カルーセル効果を実現するjQueryプラグイン

毎日jQueryプラグイン - カルーセルチャートを実装するためのjQueryプラグイン。参考までに...

Vue の新しい組み込みコンポーネントの使用方法の詳細な説明

目次1. テレポート1.1 テレポートの紹介1.2 テレポートの使用1.3 プレビュー効果2. サス...

波効果を作成するための CSS のトリック

純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...