58

我在 Windows 7 32 位上安装了 Xampp。当我尝试在 XAMPP 控制面板(v3.2.1)中启动 MySql 时,我收到以下消息并且 MySql 没有启动。

23:02:03  [mysql]   Problem detected!
23:02:03  [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"!
23:02:03  [mysql]   MySQL WILL NOT start without the configured ports free!
23:02:03  [mysql]   You need to uninstall/disable/reconfigure the blocking application
23:02:03  [mysql]   or reconfigure MySQL and the Control Panel to listen on a different port
23:02:03  [mysql]   Attempting to start MySQL service...

这里报告了一个类似的问题,但没有有效的答案。当我尝试在禁用 MySql 的情况下安装时,结果是我什至没有选择尝试运行它。

我是 Xampp 的新手,不知道在哪里寻找什么来解决问题

我需要用 PHP 运行 Apache 和 MySql。

4

12 回答 12

71

您已经在这台机器上安装了一个使用端口 3306 的 mySQL 版本。进入最新my.ini文件并将端口更改为3307. 重新启动 mySQL 服务,看看它是否出现。

您还需要在 xampp\php\php.ini 中将端口 3306 更改为 3307

于 2013-08-11T22:06:28.780 回答
35

您有两个版本的 mysql 使用相同的端口3306。通过以下方式更改端口:

  1. 如果 xampp 服务器已经在运行,请停止它。
  2. 在 xampp/mysql/bin/my.ini 中将值编辑为“port”

这里:

# The following options will be passed to all MySQL clients
[client]
Password = your_password   
port =  3306  #--->  3307  
socket =  "/ xampp / mysql / mysql.sock"

还有这里:

The MySQL server 
[ mysqld ] 
port =  3306  #--->  3307 
socket =  "/ xampp / mysql / mysql.sock"
2. Start mysql service
于 2014-05-26T06:59:45.560 回答
9

我发现以管理员身份重新安装 Xampp 并以管理员身份运行它是可行的。

于 2013-11-30T09:48:00.547 回答
3

试试这个:真的很快+对我有用:

  1. 打开任务管理器 > 服务选项卡
  2. 找到“mysqlweb”服务>右键停止服务
  3. 再次启动 Xampp

ps:请原谅下面的图片为不同的语言:)

在此处输入图像描述

于 2017-01-08T19:20:20.367 回答
3

谷歌把我带到这里。最喜欢的答案对我没有帮助。我现在已经解决了,所以也许这对其他人有帮助。问题:将 XAMPP 更新到新版本后,我收到消息“如果没有配置的端口可用,MySQL 将无法启动!”。

但是,我只有 1 个 mysqld 实例正在运行。

看来控制面板并不像看起来那么聪明。据我所知,mysqld 的单个实例是我刚刚更新到的新实例,但作为“服务”运行。然后控制面板尝试启动它,而不是意识到它已经在运行,它假定它的另一个服务并报告错误。

可能原因:卸载程序未能从 mysql 服务中删除自动启动属性,因此新安装程序将其拾取。

解决方法:
打开Xammpp控制面板,点击右侧的服务按钮。这将打开服务控制面板。在正在运行的进程列表中查找mysqld,右键获取属性,将启动类型改为“手动”。当你在这里时,你也可以对 Apache2 做同样的事情。应用更改并关闭服务控制面板。

现在单击 xampp 控制面板上的 Config 按钮,取消选中 The Mysql (and Apache) Autostart features。

重新启动机器。您现在应该能够启动/停止 Mysql 和 Apache 而不会出现任何错误消息。如果这可行,请照常使用 Xampp 控制面板来启动/停止添加服务或照常添加自动启动。无需弄乱任何端口或配置文件。

于 2018-06-07T15:43:12.113 回答
2

如果有两个 MySql 实例,如果它们同时运行,它会给出这样的错误是正常的。如果您确实需要 2 台服务器,则必须更改其中一台服务器的侦听端口,或者如果您不需要,最好直接卸载其中一台。这与 MySql 本身无关,因为两个程序不能同时监听同一个端口。

于 2013-08-11T22:25:58.907 回答
0

所以如果你在 Windows 机器上,你可以打开任务管理器。检查进程列表,并从中删除 mysqlId。重新启动 xampp。它会正常工作。

于 2021-07-17T11:59:39.987 回答
0

如果您之前安装了 MySQL Workbench,问题是另一个 MySQL 实例正在 3306 端口上运行。

所以卸载 MySQL 和 XAMPP,然后只重新安装 XAMPP。

这对我有用。

于 2018-04-09T12:47:53.037 回答
0

macOS 上的相同问题并通过再次运行相同的安装程序来解决。

而我 无法通过以下方式修复它

  1. 更改端口
  2. 重新启动 XAMPP
  3. 重启系统

注意 确保在运行安装程序时选择“XAMPP Core Files”组件,因为默认情况下它没有被选中。

虽然重新运行安装程序不是明智的选择,但必须时不时地这样做。我的安装程序是 xampp-osx-7.0.13-1-installer.dmg

更新我的MAMP在这里使用这个简单的解决方案。因此,同样适用于XAMPP

于 2017-01-16T19:03:26.090 回答
0

我的修复是在 services 中停止 MySQL57,Xampp 现在按预期启动/停止 Apache/MySQL。

于 2022-02-12T12:27:18.660 回答
0

您需要卸载/禁用/重新配置正在使用端口 3306 的阻塞应用程序。但是,如果由于某种原因,您不能执行上述操作,可能是因为您也需要其他应用程序,请按照以下步骤更改 MySQL 端口到 3307。

  1. 从 XAMPP 控制面板停止 Apache 服务器(如果正在运行)
  2. 现在打开 XAMPP Control Panel => Config (Top Right) => MySQL 并将主端口更改为 3307 => Save => Save
  3. 单击 MySQL 的配置(仅从控制面板)=> my.ini 然后将所有出现的 3306 更改为 3307(使用 ctrl + F 搜索并全部替换)
  4. 单击 Apache 的配置(仅从控制面板)=> config.inc.php,然后搜索该行:($cfg['Servers'][$i]['host'] = '127.0.0.1';位于我文件的第 27 行)。现在将其添加到您找到的行下方(根据我的文件在第 28 行):$cfg['Servers'][$i]['port'] = '3307';

现在,你可以走了。另请注意,您必须将所有项目的端口更改为 3307 才能正常工作。例如:项目的数据库配置文件中的 from $servername = "localhost";to $servername = "localhost:3307";

我希望这也适用于你。

于 2021-08-06T19:16:22.840 回答
-1

这是解决问题的一种简单快捷的方法。

您无需打开services或编写任何cmd代码,只需按照我的步骤操作即可:

  1. XAMPP control面板单击Explorer按钮

  2. 从目录中找到mysql_stop.bat文件并运行它。

就这样!!超级容易。

刷新你的netstat列表,你会看到它已经消失了。

请把它作为最佳答案。

于 2019-12-26T15:29:14.673 回答