MySQL报错Can't start server: Bind on TCP/IP port: Address already in use
教程与经验
1
评论
1
发布者
1
浏览
-
MySQL 报 “Can’t start server: Bind on TCP/IP port: Address already in use” 错误,是因为 MySQL 尝试绑定的端口(默认是 3306)已经被其他程序占用了。
解决方法如下:
-
查找占用端口的进程
- 在 Linux/macOS 上,可以使用以下命令:
# 查找占用 3306 端口的进程 sudo lsof -i :3306 # 或者 sudo netstat -tulpn | grep 3306
- 在 Windows 上,可以使用:
# 在命令提示符中 netstat -ano | findstr :3306
-
结束占用端口的进程
- 找到进程 ID(PID)后,终止该进程:
- Linux/macOS:
sudo kill -9 进程ID
- Windows: 在任务管理器中找到对应 PID 的进程并结束,或使用命令
taskkill /PID 进程ID /F
- Linux/macOS:
- 找到进程 ID(PID)后,终止该进程:
-
若不想终止占用进程,可修改 MySQL 端口
- 编辑 MySQL 配置文件(my.cnf 或 my.ini)
- 找到
port
配置项,修改为其他未被占用的端口(如 3307) - 重启 MySQL 服务
-
重启 MySQL 服务
修改配置或结束占用进程后,重新启动 MySQL 服务即可正常启动。
这个错误的核心原因就是端口冲突,只要确保 MySQL 要使用的端口没有被其他程序占用即可解决。
-