无法从Windows主机连接到Docker Mysql

时间:2019-06-28 10:21:18

标签: mysql windows docker

我已获取mysql的最新docker映像,但无法从Windows主机连接到它。

执行以下命令:

 docker run -p 3306:3306 --hostname=sql --name=mysql_working -d mysql/mysql-server:latest

我可以使用以下命令查看IP地址:

docker inspect --format "{{ .NetworkSettings.IPAddress }}" 3ddbeeeb27e9enter

当我进行telnet时,它正在超时

telnet sql 3306

与ping相同

ping <ip address from docker>

有人可以建议缺少什么吗?

2 个答案:

答案 0 :(得分:0)

第一步:在docker容器中首次安装后,需要更改MySQL的默认密码

docker logs <container_name or container_id>
docker logs <container_name or container_id> 2>&1 | grep GENERATED

step2:notedown默认密码

第3步:

docker exec -it <container_name or container_id> mysql -uroot -p

输入默认密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

有关步骤1到步骤3的更多信息,check here

第4步:在mysql中以用户名root添加新用户,并使用密码托管任何用户

create user 'root'@'%' identified by 'password';

step5:授予该用户所有权限

grant all privileges on *.* to 'root'@'%' with grant option;

有关步骤4至步骤5的更多信息,check here

步骤6:从docker容器中退出:按下ctrl+p+q键(不加ctrl与p和q的组合键)

第7步:假设您当时在主机上 (否则,您提供主机的ipaddress而不是localhost)

telenet -l root localhost 3306  

要求输入密码(我们在步骤4中输入密码作为密码)

ctrl+]键(不加ctrl和]的组合键)

人才连接成功.. !!

答案 1 :(得分:0)

您要公开端口3306,以便Sql容器可用于主机。

如果您使用的是Windows计算机,请输入ipconfig

或对于Linux:

ifconfigip addr查找主机的IP地址并使用该IP连接到Sql。

您也可以通过docker logs -f container_id检查docker容器日志,此处-f用于跟踪日志。