mysql安装报错:The specified port already in use

在这里插入图片描述

解决方案:

首先,win+r键后,在打开的窗口输入cmd回车,输入命令netstat -aon回车,如下图所示,找到端口3306被占用的PID,如图我这里是PID为11616的进程占用了3306端口
在这里插入图片描述
然后在任务栏右击,打开任务管理器,找到PID为11616的进程

在这里插入图片描述
选中进程后,鼠标右键结束任务
在这里插入图片描述
然后在MySQL中返回上一级,再点击next,端口显示正常
在这里插入图片描述

### 解决 MySQL 安装时指定端口被占用的问题 当尝试安装 MySQL 并配置其监听特定端口时,如果该端口已经被其他服务或进程占用,则会引发错误提示“specified port is already in use”。以下是针对此问题的解决方案: #### 1. 检查当前端口占用情况 可以使用以下命令来查找哪个程序占用了目标端口(假设目标端口为3306): ```bash sudo netstat -tulnp | grep :3306 ``` 上述命令将显示所有正在使用的网络连接及其对应的 PID 和程序名称。如果发现有程序占用了端口 3306,则需要进一步确认是否可以停止该程序。 #### 2. 停止占用端口的服务 找到占用端口的服务后,可以通过终止对应进程释放端口。例如,若 `netstat` 输出显示 PID 为 1234 的进程占用了端口 3306,则执行以下命令结束该进程: ```bash kill -9 1234 ``` #### 3. 修改 MySQL 配置文件中的默认端口号 如果不希望更改现有服务的状态或者无法关闭某些必要服务,可以选择修改 MySQL 的默认监听端口。编辑 MySQL 配置文件 `/etc/mysql/my.cnf` 或者 `/etc/my.cnf`,定位到 `[mysqld]` 节点下的 `port=3306` 行,并将其更改为未被占用的新端口,比如 3307: ```ini [mysqld] port=3307 ``` 保存并退出编辑器之后重启 MySQL 服务以应用新的设置: ```bash sudo systemctl restart mysql ``` #### 4. 使用 mysqld_safe 启动选项规避权限表跳过模式下远程连接禁用的情况 由于 MySQL 8.0 版本在启动参数中加入 `–skip-grant-tables` 时不允许建立远程链接[^1],因此建议通过调整安全启动脚本来适配实际需求。具体做法是在初始化数据库之前先正常完成授权表结构创建再考虑后续管理操作。 #### 注意事项 - 更改端口可能影响客户端应用程序访问路径,请同步更新这些地方的相关设定。 - 如果频繁遇到端口冲突现象,应检查是否有不必要的后台运行组件干扰环境稳定运作。 ```python import socket def check_port(host, port): """Check if a specific TCP port on given host is open.""" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex((host,port)) if result == 0: print(f"Port {port} is OPEN.") else: print(f"Port {port} is CLOSED or not listening.") check_port('localhost', 3306) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值