docker安装MySQL报错端口被占用问题解决办法
安装MySQL的时候一直显示报错
![]()
这个是宿主机 3306 端口被占用,导致 mysql 容器启动失败。
解决步骤:
1.查看占用进程
netstat -tulpn | grep :3306
如果显示未找到命令就说明系统缺少 netstat 工具,它属于 net-tools 包, 需要进行安装
yum install -y net-tools
安装完成之后就可以进行查看了
netstat -tulpn | grep :3306
然后就可以看到占用的进程
2.查看占用的进程

从 netstat 输出能看到,mysqld 进程(PID 9420 )占用了 3306 和 33060 端口,导致 Docker 中 mysql 容器启动失败(端口冲突 )
3.查看mysqld 服务状态
先确认当前宿主机上的 MySQL 服务是否有正在进行的重要业务, 判断是否可以停掉进程
查看服务状态
systemctl status mysqld
停止服务
systemctl stop mysqld
然后再查看端口释放的情况
netstat -tulpn | grep :3306
如果出现下面这种情况:

说明系统里 mysqld 服务未以标准 systemd 服务形式配置(可能是手动编译安装、服务名不同 )
可以绕过 systemd 服务,直接杀进程释放端口
操作:
ps -ef | grep mysqld kill -9 <进程ID> # 替换为实际 PID

我这里就是kill -9 9420 9251
然后再查看端口释放的情况
netstat -tulpn | grep :3306
然后就可以发现进程已经没了
4.重启

然后docker ps就可以看到内容了
总结
到此这篇关于docker安装MySQL报错端口被占用问题解决办法的文章就介绍到这了,更多相关docker安装MySQL报错端口被占用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySql总弹出mySqlInstallerConsole窗口的解决方法
这篇文章主要介绍了MySql总弹出mySqlInstallerConsole窗口的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-09-09
详解MySQL中DELETE NOT IN删除的常见问题与解决方案
在数据库操作中,DELETE 语句用于从表中删除数据,当需要根据某些条件进行删除时,NOT IN 子句是一个常用的条件表达式,本文将探讨如何在 MySQL 中使用 DELETE ... NOT IN 语句,并讨论一些常见的问题及其解决方案,需要的可以参考下2025-10-10


最新评论