docker が mysql に接続できない場合の解決策: 1. 「docker ps」コマンドで実行中のコンテナを確認します; 2. 「docker exec -it b30062adc08c /bin/bash」を実行して mysql コンテナに入ります; 3. 「mysql -u root -p」コマンドを入力します; 4. mysql を再起動し、navicat を使用して正常に接続します。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
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'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#4. 最後に、再起動します。 mysql を使用し、navicat を使用して正常に接続します
補足知識: ローカル リモート接続 Docker での MySQL エラーの解決策(1251)
エラーは次のとおりです: 原因: mysql 8.0 はデフォルトで cache_sha2_password 認証メカニズムを使用します; クライアントはこれをサポートしていません新しい暗号化方式解決策: ユーザー (root) の暗号化方式を変更します
1. mysql コンテナに入り、## と入力します。 docker 2 で #docker exec -it mysql02 bashmysql
mysql -u root -p## にログインします。#図のように 123456 と入力して Enter キーを押します
3. ユーザー設定項目の設定
(1) ユーザー情報の表示
select host,user,plugin,authentication_string from mysql.user;
#(2) 暗号化方式を変更します#ALTER USER 'root'@ '%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456 は mysql のログイン パスワードです(3) ユーザー情報を再度確認します
select host,user, plugin,authentication_string from mysql.user;
(4 ) Navicate および他のデータベース ソフトウェアを使用して再度接続すると、正常に接続されます
(5)
補足:
コンテナを閉じずに通常終了したい場合は、Ctrl P QExit を押すことでコンテナを終了できます。 mysql のコンテナー: Ctrl D を 2 回押します推奨される学習: 「docker ビデオ チュートリアル
」以上がdocker が mysql に接続できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。