記事のディレクトリ
ドッカーのMySQLへの接続1、仮想マシン(クラウドサーバ)
明確なコンセプト:内部ネットワークと外部ネットワークのIP IP
イントラネットIPは:名前が示すように、ネットワーク内で、コンピュータが、ネットワーク内のルータのために、それはまた、ネットワークのIPを繰り返すことができ、ローカル・エリア・ネットワークとして知られているものの使用を含む、ネットワークのIPアドレスであるローカルエリアネットワークので、あなたは、多くを持つことができ、もちろん、ローカルエリアネットワークの外に、あなたは内部ネットワークがアップIPアクセスすることはできません。
パブリックネットワークIP:繰り返しは、インターネットを発生しませんし、他のコンピュータに直接アクセスすることができ、コンピュータ・サーバとして、我々はこのことを保証しなければならないIPは強力ですが、彼は唯一のインターネットアドレスで、それが一般的ですコンピュータは、その優れた外部ユーザーにサービスを提供するために、パブリックIPを持っています。
centos7イントラネットIPを参照してください:使用ifconfig
や、その後のパラメータによって、ネットワークのIP内で表示することができます:
外部ネットワークのIPチェック:使用してcurl ifconfig.me
ネットワークの外部IPを表示するコマンドを、
その他の詳細ビューのWindowsおよびLinuxイントラネット/エクストラネットIPは、ブログを参照してください:
https://blog.csdn.net/hmmmmm2929/article/details/81288898
だから、ロードされた仮想マシンでドッキングウィンドウの接続のmysql以下、クラウドサーバー、接続のMySQLへの仮想マシン(サーバ)のIP、コマンドを使用しての使用している場合ip addr
のpクエリを、ではないが、内部ネットワークのIPのうち、このIPクエリ、リモート接続は、ネットワーク・サーバまたは仮想マシンのIP外で使用されなければならないIP!!!このようなサーバとして、というあなたは、外部ネットワークのIP上のアリ雲を接続します
この場合、3つのIPがあります。
Windows主机 IP:192.168.1.229(采用ipconfig查询即可)
Linux 虚拟机 IP:192.168.233.129
Docker容器 IP:172.17.0.2
mysqlのIPコンテナにドッキングウィンドウを使用することができdocker inspect apple_mysql
、テストの使用を容易にするために、我々は通常のWindows仮想マシンホストにインストールすることを選択した(選挙は、VMware Workstationのある場合)、仮想マシンでドッカーコンテナを展開。そして、我々は、外部ネットワーク(ネットワークとWindowsの同じレベル)にドッカーコンテナに配備アクセスできません。
この問題を解決するには、以下のこのアプローチを使用することができます。
ネットワーク全体のコンテナを作成することができますドッカーは、自身のポートマッピング機能を選択することができます172.17.0.2
し、192.168.233.129
コミュニケーションを。コマンドは、ドッキングウィンドウとしてここでは繰り返さない他の方法を使用して、次の
docker run -di --name apple_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码
ここでは、を介してアクセスすることができますにポートマッピングMySQLへの直接アクセスであるポート、接続ツールSQLyogの接続を使用して、この時間を(IP Linuxは、仮想マシンのIPである)またはコマンドを使用して:192.168.233.129
33306
172.17.0.2
3306
mysql -u root -p -h192.168.233.129
接続のmysqlへのドッキングウィンドウのデスクトップソフトウェアダウン2、窓
今回は2つのだけのIP:
Windows主机 IP:192.168.1.229
Docker容器 IP:172.17.0.2
ドッキングウィンドウのデスクトップソフトウェアがインストールさドッキングウィンドウあなたは、Windowsを使用しているので何のIP仮想マシンが存在しないこの時間ので、MySQLを結ぶ今回は、このアドレスはあなたのマシンである。localhost/127.0.0.1
また、上側のWindowsホストのIPに接続することができます。192.168.1.229
注意点
注1:
あり(https://blog.csdn.net/underclound/article/details/77117368)アドレス127.0.0.1が、192.168.99.100ブログの使用を使用していないウィンドウでドッキングウィンドウを言えば、私はここにすることができます127.0.0.1を使用して、むしろ、無効なアドレス接続バック!
注2:
あなたのMySQLは、最新の8.0バージョンを引っ張って、ミラーリングした場合ここでは、この問題は、次のように発生する可能性があります。
理由: mysqlの8.0 caching_sha2_passwordのデフォルトの認証機構と、クライアントは、新たな暗号化方式をサポートしていません。
解決策:
変更ユーザー(root)暗号方式の
手順を実行します。
図1に示すように、容器のMySQLの内部へ
[root@localhost ~]# docker exec -it mysql01 bash
入力した後、次のコマンドを入力します。
root@8e74f086c2bb:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.16 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
そして、あなたはMySQLのコンテナを入力するように要求されます。対応するコマンドを入力します。
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | caching_sha2_password | $A$005$Z%@a}aqP.mjjK<t?SjMyCAGpzJJtUmnYFmTgPoqWOESUfAg9ojwPkd8HzP4 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | caching_sha2_password | $A$005$Gr/wA/
PHFFzz``OkyuNlZo3K6eObfcdOORjQoG3zvTztdSnkIDOgg5ZkmzRb/ |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
%のホストは、マシンの限界使用するプラグインは、パスワード以外mysql_native_passwordを変更する必要がありますIPローカルホストに表されていません
次のコマンドを入力します。
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql>flush privileges;
再びクエリ:
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | caching_sha2_password | $A$005$Gr/wA/
PHFFzz``OkyuNlZo3K6eObfcdOORjQoG3zvTztdSnkIDOgg5ZkmzRb/ |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
それは成功に完了し、再接続のmysqlに改訂されました!
Windows用のドッキングウィンドウは、設定手順を使用します
この記事は非常に良いを提示した。
https://blog.csdn.net/novanova2009/article/details/86529949
参考記事:
https://www.cnblogs.com/bobkingblog/p/11070062.html
https://blog.csdn.net/liwenxia626/article/details/80848377
https://blog.csdn.net/qq_40389276/article /詳細/ 98871405