-
Environment
-
Macbook pro 10.10
-
DockerToolbox 1.8 & Docker 1.8.2
-
-
Let’s look at the error output first.
$ mysql -uroot -p -h192.168.99.100 -P3306
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.99.100' (61)
$ mysqladmin -h192.168.99.100 --port=3306 version 127 ↵
mysqladmin: connect to server at '192.168.99.100' failed
error: 'Can't connect to MySQL server on '192.168.99.100' (61)'
Check that mysqld is running on 192.168.99.100 and that the port is 3306.
You can check this by doing 'telnet 192.168.99.100 3306'
DEBUG process
-
Container Status-Port Mapping
$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b20584bc086e sunzy/mysql "/usr/bin/mysqld_safe" 21 minutes ago Up 21 minutes 0.0.0.0:3306->3306/tcp mysql
-
IP of host
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running tcp://192.168.99.100:2376
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running tcp://192.168.99.100:2376
-
PING
$ ping 192.168.99.100 1 ↵
PING 192.168.99.100 (192.168.99.100): 56 data bytes
64 bytes from 192.168.99.100: icmp_seq=0 ttl=64 time=0.347 ms
64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.388 ms
64 bytes from 192.168.99.100: icmp_seq=2 ttl=64 time=0.272 ms
-
Telnet
$ telnet 192.168.99.100 3306 1 ↵
Trying 192.168.99.100 ...
telnet: connect to address 192.168.99.100: Connection refused
telnet: Unable to connect to remote host
-
Connect inside the container
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2015, 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>
-
Mysql allows any IP connection
mysql> select user,host,password from mysql.user;
+------------------+--------------+-------------------------------------------+
| user | host | password |
+------------------+--------------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | e611e15f9c9d | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | |
| debian-sys-maint | localhost | *1BD91232C0D2D2B5500129217CEF09B7EE71ABEC |
| root | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------------------+--------------+-------------------------------------------+
It suddenly occurred to me that vagrant had encountered this kind of situation before, but what the newspaper said was2013-Lost connection to MySQL server at ‘reading initial communication packetError = >Onlookers
Open mysql configuration file
sudo vim /etc/mysql/my.cnf
findbind-address, change 127.0.0.1 to 0.0.0.0 or comment out the line
Restart mysql
Have a try, normal