phpstudy_pro无法启动MySQL以及3306被占用的问题解决办法

 更新时间:2026年04月23日 09:28:31   作者:angelasp  
在进行PHP开发时,PHPStudy Pro是一款功能强大且易于使用的集成环境,它能帮助开发者快速搭建起包含Apache、Nginx、PHP、MySQL等的本地开发环境,这篇文章主要介绍了phpstudy_pro无法启动MySQL以及3306被占用的问题解决办法的相关资料,需要的朋友可以参考下

问题说明

首先我们在启动mysql服务的时候,服务无法启动,而且一直重试。

一、是否真的是端口占用

  1. 启动 phpstudy_pro,点击 MySQL 的「启动」按钮,若弹出错误提示:

MySQL 启动失败:端口 3306 被占用 或 Port 3306 is already in use,则确认是端口占用问题。

  1. 补充:默认 MySQL 端口为 3306,若已修改过端口,以提示的端口号为准(如 3307、3308 等)。

二、查找占用端口的进程(分系统操作)

(一)Windows 系统(最常用)

方法 1:通过 phpstudy_pro 自带工具查询

  • 打开 phpstudy_pro → 点击左侧「工具」→ 选择「端口占用查询」→ 输入端口号(如 3306)→ 点击「查询」→ 直接显示占用进程名称和 PID。

方法 2:通过命令行查询

  1. 按下 Win+R → 输入 cmd 打开命令提示符(管理员模式更佳);
  1. 输入命令查询 3306 端口占用:
netstat -ano | findstr "3306"
  1. 结果中最后一列的数字是「PID(进程标识符)」,记录该 PID;
  1. 继续输入命令查询 PID 对应的进程名称:
tasklist | findstr "PID号"

(例:tasklist | findstr "1234",会显示进程名如 mysqld.exe、wampmysqld.exe 等)。

(二)Mac/Linux 系统

  1. 打开终端(Terminal);
  1. 输入命令查询 3306 端口占用:
lsof -i :3306

netstat -tulpn | grep 3306
  1. 结果中「PID」列是进程 ID,「COMMAND」列是进程名称(如 mysqld、docker-proxy 等)。

三、解决端口占用(两种核心方案)

方案 1:关闭占用端口的进程(推荐优先尝试)

适用于:占用进程是其他 MySQL 服务、冗余软件(如 WAMP、XAMPP、Docker 容器)等可关闭的程序。

Windows 系统关闭进程:

方法 1:通过任务管理器关闭

  • 按下 Ctrl+Shift+Esc 打开任务管理器 → 切换到「详细信息」标签 → 按 PID 排序找到对应进程 → 右键「结束任务」。

方法 2:通过命令行强制关闭

  • 命令提示符中输入:
taskkill /f /pid PID号

(例:taskkill /f /pid 1234,/f 表示强制关闭)。

Mac/Linux 系统关闭进程:

  • 终端输入命令(替换 PID 号):
sudo kill -9 PID号

(例:sudo kill -9 1234,-9 表示强制终止)。

方案 2:修改 MySQL 端口(适用于无法关闭占用进程的场景)

若占用进程是系统核心进程、必要软件(如不可关闭的数据库服务),则修改 phpstudy_pro 的 MySQL 端口:

  1. 打开 phpstudy_pro → 找到对应的 MySQL 服务(如「MySQL 8.0」)→ 点击右侧「设置」→ 选择「端口设置」;
  1. 将默认端口 3306 修改为未被占用的端口(如 3307、3308、3310 等,建议选 3306-3399 之间的空闲端口);
  1. 点击「应用」→ 重启 MySQL 服务(点击「停止」再「启动」);
  1. 关键补充:修改端口后,项目连接 MySQL 时需同步更新端口号(如 PHP 配置文件、Navicat 等工具的连接设置)。

四、验证解决方案是否生效

  1. 重新点击 phpstudy_pro 中 MySQL 的「启动」按钮,若状态栏显示「运行中」,则成功;
  1. 辅助验证:通过命令行查询新端口是否被占用(如修改为 3307,则执行 netstat -ano | findstr "3307"),确认只有 phpstudy 的 MySQL 进程占用该端口;
  1. 测试连接:用 Navicat 或项目代码连接 MySQL,主机填 localhost,端口填修改后的端口(如 3307),用户名 / 密码不变,能正常连接则彻底解决。

五、常见问题补充(避坑指南)

  1. 问题:修改端口后仍启动失败?

解决:检查新端口是否仍被占用(换一个端口重试),或重启 phpstudy_pro 再试。

  1. 问题:Windows 系统中提示「无法终止进程,访问被拒绝」

解决:以「管理员模式」打开命令提示符或任务管理器,再执行关闭操作。

  1. 问题:Docker 占用 3306 端口(常见)

解决:要么停止对应的 Docker 容器(docker stop 容器ID),要么修改 MySQL 端口,不建议直接关闭 Docker 服务(若需使用)。

  1. 问题:端口查询显示「0.0.0.0:3306」被占用,但找不到进程

解决:可能是系统残留的 TCP 连接,重启电脑后再尝试(重启能释放大部分占用端口)。

总结

以上是解决mysql服务无法启动,或者3306端口被占用的情况,希望对大家有所帮助。

到此这篇关于phpstudy_pro无法启动MySQL以及3306被占用的问题解决办法的文章就介绍到这了,更多相关phpstudy_pro无法启动MySQL及3306被占用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux下rpm方式安装mysql教程

    Linux下rpm方式安装mysql教程

    这篇文章主要为大家详细介绍了Linux下rpm方式安装mysql教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • MySQL Truncate用法详解

    MySQL Truncate用法详解

    这篇文章主要介绍了MySQL Truncate用法的相关资料,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • SQL查询表字段信息详细图文教程

    SQL查询表字段信息详细图文教程

    最近工作用到SQL语句查询表中所有字段的名称,下面这篇文章主要给大家介绍了关于SQL查询表字段信息的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • MySQL逻辑备份into outfile

    MySQL逻辑备份into outfile

    这篇文章主要介绍了MySQL 备份之 into outfile,文章围绕主题展开详细内容介绍,具有一定的参考价值需要的小伙伴可以参考一下
    2022-05-05
  • Mysql ERROR 1067: Invalid default value for字段问题

    Mysql ERROR 1067: Invalid default v

    这篇文章主要介绍了Mysql ERROR 1067: Invalid default value for字段问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • mysql不能启动报error2013错误的多种解决方案

    mysql不能启动报error2013错误的多种解决方案

    这篇文章主要介绍了mysql不能启动报error2013错误的多种解决方案,需要的朋友可以参考下
    2014-07-07
  • 如何彻底删除mysql服务(清理注册表)详解

    如何彻底删除mysql服务(清理注册表)详解

    这篇文章主要给大家介绍了关于如何彻底删除mysql服务(清理注册表)的相关资料,文中通过图文介绍的非常详细,对大家的学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限

    低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限

    应用升级MySQL驱动8.0后,在并发量较高时,查看监控打点,Druid连接池拿到连接并执行SQL的时间大部分都超过200ms,本文就解决一下这个问题
    2021-07-07
  • MySQL中处理各种重复的一些方法

    MySQL中处理各种重复的一些方法

    这篇文章主要介绍了MySQL中处理各种重复的一些方法,包括对表和查询结果的重复的一些处理,需要的朋友可以参考下
    2015-05-05
  • MySQL分布式集群搭建教程

    MySQL分布式集群搭建教程

    这篇文章主要介绍了MySQL分布式集群搭建教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论