在使用docker图形界面运行mysql镜像后,您可能遇到从本地无法连接到mysql的情况。尽管镜像报告"等待连接"并且端口号为3306,但本地连接仍然无法成功。
原因
此问题通常是由以下原因引起的:
解决方案
1. 检查端口映射
docker可能将mysql容器映射到本地系统上的不同端口。要查找映射的端口,请使用以下命令:
docker port [container_id] 3306
该命令将显示映射的端口。例如,它可能显示为:
33060/tcp -> 3306/tcp
这表示docker将容器中的3306端口映射到本地系统的33060端口。因此,您需要连接到33060端口。
2. 修改mysql用户设置
要允许远程连接,您需要修改mysql容器中的mysql用户设置。可以使用以下命令编辑mysql配置:
docker exec -it [container_id] bash vi /etc/mysql/mysql.conf.d/mysqld.cnf
在配置文件中找到以下行:
# bind-address = 127.0.0.1
将该行注释掉或将其更改为:
bind-address = 0.0.0.0
这将允许mysql用户从任何ip地址接受连接。
连接到docker mysql
执行上述步骤后,您应该能够使用以下命令连接到docker mysql:
mysql -P 33060 -u root -p
其中,33060是映射的端口号。
以上就是Docker安装MySQL后,为什么本地无法连接?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号