MySQL启动失败因3306端口被占用,需查杀占用进程或修改配置文件中mysqld段的port为其他值(如3307)并重启服务。
MySQL 启动失败提示“端口被占用”,通常是因为默认端口(3306)正被其他进程使用。解决思路很明确:确认谁占了端口、停掉它,或让 MySQL 换个端口运行。
在终端中执行以下命令(Linux/macOS):
sudo lsof -i :3306 或 sudo netstat -tulpn | grep :3306
Windows 用户可运行:
netstat -ano | findstr :3306,再用 tasklist | findstr "PID号" 查进程名。
常见占用者包括:另一个 MySQL 实例、MariaDB、某些开发工具(如 XAMPP、Docker 中的 mysql 容器)、甚至误启动的 mysqld_safe 进程。
如果确认是冗余或不需要的服务,直接终止它:
若不能停掉占用进程(比如生产环境共存多个数据库),可为当前 MySQL 实例指定新端口:
y.cnf(Linux/macOS)或 my.ini(Windows),通常位于 /etc/my.cnf、/usr/etc/my.cnf 或 MySQL 安装目录下日常开发中容易反复踩坑,可以提前规避: