Hello! 欢迎来到小浪云!


Docker 中 MySQL 无法从本地连接:端口被占用怎么办?


avatar
小浪云 2024-11-09 45

Docker 中 MySQL 无法从本地连接:端口被占用怎么办?

dockermysql 无法从本地连接

你遇到了在 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;
登录后复制

相关阅读