解决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就可以看到内容了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值