【问题标题】:MySQL startup error - port is already in useMySQL 启动错误 - 端口已在使用中
【发布时间】:2015-09-23 05:42:14
【问题描述】:

尝试启动 XAMPP 时出现以下错误:

12:34:26 PM  [mysql]    Attempting to start MySQL service...
12:34:38 PM  [mysql]    Problem detected!
12:34:38 PM  [mysql]    Port 3306 in use by ""C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" MySQL"!
12:34:38 PM  [mysql]    MySQL WILL NOT start without the configured ports free!
12:34:38 PM  [mysql]    You need to uninstall/disable/reconfigure the blocking application
12:34:38 PM  [mysql]    or reconfigure MySQL and the Control Panel to listen on a different port
12:34:38 PM  [mysql]    Attempting to start MySQL service...

【问题讨论】:

  • 错误对我来说很清楚,清除端口 3306 或让 MySQL 在不同的端口上运行。
  • 当另一个 MySQL 已经在机器上运行(使用相同的端口)时,您似乎正在尝试启动 MySQL。

标签: php mysql apache xampp


【解决方案1】:

好吧,我的朋友告诉我在 C 盘中重新安装 xampp,它确实有效,但过了一段时间我又遇到了同样的问题,所以我按照这些步骤操作,希望它会有所帮助。 以管理员身份打开cmd 如果在端口号 3306 上没有任何重要的运行,则终止该进程。

enter image description here

按照以下步骤操作: (如果照片有任何错误) 以管理员运行命令打开 cmd 后

  1. netstat -ano |findstr 3306
  2. 如果只有一个进程在运行,则观察最后一列的 PID。将其关闭。
  3. taskkill /F /PID 端口号

如果您在执行此操作后仍出现错误,请尝试按照此处的步骤操作: 我经历过,如果我们尝试在 apache 之前停止 mysql,则会出错。 因此,当您停止进程或服务器时,先停止 apache,然后再停止 mysql。 并且不要在不停止任何服务器的情况下关闭 xampp

(我通过网络搜索和一些尝试和错误发现了这个,它至少对我有用)

【讨论】:

    【解决方案2】:

    可能是您之前安装了 xampp 应用程序并在完成安装之前离开,然后在卸载前一个应用程序之前重新安装了它,只需卸载前一个或同时卸载并重新安装

    【讨论】:

    • 这对我有用。谢谢!
    【解决方案3】:
    1. 打开 xampp 控制面板。
    2. 点击“配置”按钮。
    3. 点击“服务和端口设置”​​。
    4. 点击“mysql”标签。
    5. 将标有“主端口”的值更改为 3307

    【讨论】:

    • 如果您收到拒绝访问错误,请确保您右键单击 xampp 并单击“以管理员身份运行”。
    【解决方案4】:

    日志清楚地指出另一个应用程序正在侦听端口 3306,因此无法启动 MySQL,因为 3306 是为其配置的端口(MySQL 连接的默认端口)。这个已经在 3306 端口上监听的应用程序是另一个 MySQL 实例,它可能配置为自动启动。

    如果您使用的是 Windows,请单击 Start 按钮,然后单击 Execute,然后键入 services.msc 并按 [Enter]。查找正在运行的 MySQL 服务,将其停止,并对其进行配置以防止其在系统启动时启动。之后你应该正常启动XAMPP了。

    【讨论】:

    • 我已经在运行 mariadb 这就是为什么端口 3306 正在使用中,我可以使用 3307 在该端口上公开 mysql 吗?
    【解决方案5】:

    所以,mysql 默认监听3306 端口。根据你的错误,有些服务已经使用了。

    取决于您的操作系统,检查谁在使用它。例如对于netstat -lp | grep 3306,您可以关闭此服务并重新启动您的mysql 或更改为另一个端口OR 您更改mysql 默认端口以侦听您的my.cnf 文件。

    【讨论】:

      猜你喜欢
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2012-09-26
      • 2019-02-03
      • 2011-05-07
      • 2021-08-09
      • 2014-10-23
      相关资源
      最近更新 更多