xampp MySQL无法启动

时间:2013-08-11 22:02:02

标签: mysql xampp

我在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...

报告了一个类似的问题here,但没有可行的答案。当我尝试在禁用MySql时安装,结果是我甚至没有选择尝试运行它。

我是Xampp的新手,不知道在哪里寻找解决问题的方法

我需要用Php。

运行Apache和MySql

11 个答案:

答案 0 :(得分:41)

您已在此计算机上安装了使用端口3306的mySQL版本。转到最新的my.ini文件并将端口更改为3307。重新启动mySQL服务,看看它是否出现。

您还需要在xampp \ php \ php.ini

中将端口3306更改为3307

答案 1 :(得分:28)

你有两个版本的mysql使用相同的端口。 3306。 改变端口。

如何更改xampp的mysql端口?

  1. 如果xampp服务器已在运行,请将其停止。
  2. 将值编辑为" port"在xampp / mysql / bin / my.ini
  3. 代码:

    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
    

答案 2 :(得分:8)

我发现重新安装Xampp作为管理员并以管理员身份运行它。

答案 3 :(得分:2)

如果有两个MySql实例,那么如果它们同时运行则会出现这样的错误是正常的。如果你真的需要2台服务器,你必须更改其中一台服务器的监听端口,如果不这样做,最好只卸载其中一台服务器。这是MySql本身的无所不知,因为两个程序不能同时在同一个端口上侦听。

答案 4 :(得分:2)

试试这个:真的很快+为我工作:

  1. 打开任务管理器>服务标签
  2. 查找“mysqlweb”服务>右键单击它以停止服务
  3. 再次启动Xampp
  4. ps:请原谅下面不同语言的图片:)

    enter image description here

答案 5 :(得分:0)

在macOS上遇到同样的问题,并通过再次运行相同的安装程序修复

而我可能不通过

解决问题
  1. 更改端口
  2. 重新启动XAMPP
  3. 重启系统
  4. <强> 注意 确保在运行安装程序时选择'XAMPP核心文件'组件,因为默认情况下未选中它。

    虽然重新运行安装程序并不是一个聪明的选择,但必须时不时地执行它。我的安装程序是xampp-osx-7.0.13-1-installer.dmg

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

答案 6 :(得分:0)

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

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

这对我有用。

答案 7 :(得分:0)

谷歌给我带来了这个好消息。最喜欢的答案对我没有帮助。 我现在已经解决了,所以也许这会帮助别人。 问题:在将XAMPP更新为新版本后,我收到消息“如果没有配置的端口空闲,MySQL将无法启动!”。

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

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

可能的原因:卸载程序无法从mysql服务中删除autostart属性,因此新安装程序将其取出。

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

现在单击xampp控制面板上的配置按钮,取消选中Mysql(和Apache)自动启动功能。

重新启动机器。 你现在应该能够启动/停止Mysql&amp; Apache没有任何错误消息。 如果这样可行,请像往常一样使用Xampp控制面板来启动/停止添加服务或正常添加自动启动。 无需弄乱任何端口或配置文件。

答案 8 :(得分:0)

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

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

  1. XAMPP control面板中单击Explorer按钮

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

就这些!超级容易。

刷新您的netstat列表,您会发现它已消失。

  

请使其成为最佳答案。

答案 9 :(得分:0)

因此,如果您使用的是 Windows 计算机,则可以打开任务管理器。检查进程列表,并从中删除 mysqlId。重新启动 xampp。它会正常工作。

答案 10 :(得分:0)

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

  1. 从 XAMPP 控制面板(如果正在运行)停止 Apache 服务器
  2. 现在打开 XAMPP 控制面板 => 配置(右上)=> MySQL 并将主端口更改为 3307 => 保存 => 保存
  3. 点击 Config of MySQL (From Control Panel only) => 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 才能正常工作。例如:从项目的数据库配置文件中的 $servername = "localhost";$servername = "localhost:3307";

我希望这也适用于您。