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 无法启动的主要内容,如果未能解决你的问题,请参考以下文章