xampp MySQL 无法启动

Posted

技术标签:

【中文标题】xampp MySQL 无法启动【英文标题】:xampp MySQL does not start 【发布时间】:2013-08-13 04:24:23 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

谢谢。似乎工作。以后会不会有问题,我有两个相同的 MySql 安装?我想知道现在简单地删除独立的MySql并重新安装xampp不是更好吗? 有问题吗?不是真的……更多的是烦恼。我认为您应该删除其中一个以确保安全。所有标准的 mySQL 接口都将默认为端口3306,除非您另外指定,否则 PHP 代码也是如此。 不工作:我试图编辑,它没有保存它!它是说访问被拒绝 首先以管理员身份运行记事本,然后打开文件看看是否有帮助。 最新的 my.ini 是哪个?我有一大堆 mysql ini 文件,我不知道是哪一个。【参考方案2】:

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

    停止 xampp 服务器(如果它已经在运行)。 在 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

【讨论】:

【参考方案3】:

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

【讨论】:

多亏了这个想法,我以管理员身份重新启动了我的 XAMPP 并解决了问题 感谢兄弟作为管理人员为我工作,但现在它正在为 phpmyadmin 拒绝访问。顺便说一句,再次感谢您的回答。【参考方案4】:

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

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

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

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

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

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

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

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

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

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

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

【讨论】:

【参考方案7】:

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

而我不能修复它

    更改端口 重新启动 XAMPP 重启系统

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

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

更新我的 MAMP 正在使用这个简单的解决方案 here。因此,XAMPP 也应该如此。

【讨论】:

【参考方案8】:

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

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

这对我有用。

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

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

    从 XAMPP 控制面板停止 Apache 服务器(如果正在运行) 现在打开 XAMPP 控制面板 => 配置(右上角)=> MySQL 并将主端口更改为 3307 => 保存 => 保存 点击 MySQL 的配置(仅从控制面板)=> my.ini,然后将所有出现的 3306 更改为 3307(使用 ctrl + F 搜索并全部替换) 单击 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";

我希望这对你也有用。

【讨论】:

【参考方案11】:

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

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

    XAMPP control面板点击Explorer按钮

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

就是这样!!超级容易。

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

请作为最佳答案。

【讨论】:

以上是关于xampp MySQL 无法启动的主要内容,如果未能解决你的问题,请参考以下文章

xampp MySQL 无法启动

XAMPP 中的 MySQL 无法启动

Xampp mysql无法启动的解决方案

无法正确启动 XAMPP

无法在 xampp 版本 1.8.3 上启动 mysql

无法从 XAMPP 启动 MySQL 服务器