首页 >
文章列表 > Docker 中 MySQL 无法从本地连接:端口被占用怎么办?
Docker 中 MySQL 无法从本地连接:端口被占用怎么办?
241
2025-02-23

docker 中 mysql 无法从本地连接
你遇到了在 docker 容器中运行 mysql 镜像后无法从本地连接的问题。日志显示 mysql 已经在监听 3306 端口。
原因分析
你提到的原因可能是正确的,即本机上的 mysql 进程正在占用 3306 端口,从而导致 docker 容器中的 mysql 无法在该端口上绑定。
解决方案
要解决此问题,你可以执行以下操作:
- 修改 docker 配置:将 docker 容器中的 mysql 绑定到一个不同的端口。例如,将 -p 3306 参数修改为 -p 33060。
- 卸载本地 mysql:如果你不再需要本机上的 mysql,可以卸载它以释放 3306 端口。
- 配置远程连接:即使卸载了本地 mysql,也可以为 docker 容器中的 mysql 启用远程连接。使用以下命令将 mysql 用户设置为允许远程连接:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;