MySQL数据库无法在XAMPP Manager-osx中启动


92

我大约一个月前下载了XAMPP,它工作正常。今天,我安装了语音识别软件,然后重新启动了计算机。从那时起,MySQL就不会在我的manager-osx应用程序中启动。它不会在应用程序日志中抛出“我”。它是这样说的:

Stopping all servers...
Stopping Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd stopped
Stopping ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd stopped
Restarting all servers...
Starting MySQL Database...

Starting Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started
Starting ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started

我的ProFTPD和Apache Web服务器都在运行。MySQL不是。当我转到phpmyadmin时,它向我抛出此错误消息。

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

请帮我。我不知道该怎么做。

更新:

在浏览了一下互联网后,我发现一个用户使用MAMP遇到了类似的问题,另一个用户建议杀死mysql进程,这意味着什么。这可以解决我的问题吗?

更新2:

我找到了解决问题的方法,但还不能解决。所以这是答案:

1)打开终端并输入

sudo su

然后输入密码

2)然后输入

ps aux | grep mysql

(只需复制并粘贴)

3)您将需要获取mysql的进程ID。顶部附近应该有数字,例如739或8827

4)使用杀死进程

kill -9 {process id}

这应该看起来像这样:kill -9 739

5)在manager-osx中重启MySQL


问题何时开始?
Hammad Khan 2014年

2
您也可以转到实用程序文件夹中的活动监视器,然后在此处杀死进程。
evan.stoddard 2014年

我还建议备份您的Web目录文件夹,然后重新安装xampp。
evan.stoddard 2014年

2
您认为什么引起了问题?
Hammad Khan 2014年

我已经在Mac中安装了另一个mysql。我停了下来,然后解决了。
Sajedul Karim女士

Answers:


164

这应该工作:
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start


2
当manager-osx无法在您的本地主机上启动mySQL数据库时,此方法有效
Charles Wyke-Smith 2014年

2
太棒了,这有效!但是,很好奇,为什么manager-osx启动mySQL,并且如果我必须sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start?还是可以更正manager-osx脚本?
auspicious99

7
为我不工作: Starting MySQL ..................................................................................................... ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/gmac.local.pid).
Geoffrey Hale 2015年

4
@GeoffreyHale和其他所有人都面临此问题:查看您的日志(/Applications/XAMPP/xamppfiles/var/mysql/YOURNAME.err),可能您会发现导致错误的原因。我的也是[ERROR] InnoDB: Unable to lock /Applications/XAMPP/xamppfiles/var/mysql/ibdata1, error: 35[Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.赫克!那是对的!杀死mysqld进程,键入benshittu的命令,它应该可以工作。
LucaM 2015年

这对我没有用。执行此操作时,您正在使用什么版本的XAMPP?由于应用程序的兼容性原因,我使用的是1.8.3-4。
阿德里安

86

最小指南

1。 sudo killall mysqld

2. manager-osx>启动mysql


如果那没有用...

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

谷歌的错误...


例子:

错误:

ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/<computername>.local.pid)

我的解决方案:

/Applications/XAMPP/xamppfiles/etc/my.cnf变化user = <uid>s表示<uid>uidid命令。

$ id
uid=...

$ vim /Applications/XAMPP/xamppfiles/etc/my.cnf
...

5
绝对帮助了我 谢谢。
azwar_akbar

似乎“ sudo killall mysqld”无法捕获所有正在运行的mysql实例。我让mysql与homebrew一起运行,因此请检查“ brew services”,如果mysql进程正在运行,请通过“ brew services stop mysql”将其停止
nerdess

65

如果这些命令对您不起作用:

sudo killall mysqld
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

试试这个:

对于XAMPP 7.1.1-0,我将端口号从3306更改为3307。

  1. 单击管理服务器
  2. 选择MySQL数据库
  3. 单击右侧的配置
  4. 将您的端口号更改为3307
  5. 点击确定
  6. 关闭控制面板,然后重新启动。

您现在可以出发了。


我很想更改端口并重新启动管理器,这对我有用。谢谢。
Shubha S

完美的人,我将端口号从3306更改为3307。谢谢!
盆景

3
我已经尝试过相同的操作,但不适用于新的xampp 7.2.2:收到以下错误消息(我的问题被阻止,所以我不能作为关于stackoverflow的新问题提出) Starting MySQL .2018-03-06 11:21:32 3610 mysqld_safe Logging to '/Applications/XAMPP/xamppfiles/var/mysql/Bharats-iMac.local.err'. 2018-03-06 11:21:32 3610 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql ERROR!
巴拉特

我运行此命令sudo /Applications/XAMPP/xamppfiles/bin/mysql.server,开始对我有用。
拉夫五世'18

将XAMPP MySQL的端口更改为3307可以正常工作!
Mohamed Daaniyaal

30

检查/ Applications / XAMPP / xamppfiles / var / mysql /上带有诸如your_machine_name.local.err之类文件名的err日志,如果发现以下内容:“试图打开先前打开的表空间。上一个表空间...使用空间ID”

以下对我有用:

编辑文件:

/Applications/XAMPP/xamppfiles/etc/my.cnf

找到[mysqld]部分,添加一行:

innodb_force_recovery = 1

然后跑

sudo /Applications/XAMPP/bin/mysql.server启动

一切都还好。

然后是最后一步:

再次编辑my.cnf并删除刚添加的行:

innodb_force_recovery = 1

并重新启动mysql。否则,您的所有表格都是只读的


11

对我而言,以下工作有效:将文件“所有人”的权限更改为“只读” /Applications/XAMPP/xamppfiles/etc/my.cnf。然后从XAMPP管理器启动MySQL。


为我工作!完善!
贾斯珀(Jasper)2015年

那是否意味着您chmod 444 my.cnf在航站楼里呢?
阿卜杜拉·拉希德

11

尝试在终端中运行以下两个命令:

  1. sudo killall mysqld sudo
  2. /Applications/XAMPP/xamppfiles/bin/mysql.server start

6

我首先无法使用此处发布的命令来杀死mysql守护进程。所以我想起了我的Linux时代,并做了以下工作:

我通过top在一个终端窗口中运行来监视正在运行的进程。然后我通过sudo killall mysqld(拧下PID ;-))杀死了mysqld 并通过重新启动sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start


6
  1. 关闭XAMPP控件
  2. 须藤killall mysqld
  3. 须藤/Applications/XAMPP/xamppfiles/bin/mysql.server start

2
为我工作!–不必担心sudo killall mysqld会抛出类似的信息process not found
吉米·阿达罗

6

它发生在我身上。和

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

不适合我。

因此,我重新安装了xampp,然后对其进行了修复。

注意:

重新安装xampp,将不会删除mysql数据,无需担心。


相反,对于我而言,此代码行在每次MySQL不启动时都有效
Sasha Chirico

1
重新安装XAMPP给我带来了更大的问题。不能再访问表数据
Robert Cabri

4

答案很多,但我想至少是对我来说,我找到了原因。看来,如果您让计算机进入睡眠状态(或计算机自行进入睡眠状态),则在重新打开计算机时,它将尝试再次打开mysql进程。在某一时刻,我查看了活动监视器,并运行了5个实例-杀死所有实例,然后启动mysql。


4
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

这对我有用。


错误!服务器退出而不更新PID文件(/Applications/XAMPP/xamppfiles/var/mysql/testingAccounts-Mac.local.pid)..怎么做
Krutarth Patel

1
@iKrutarth看看我对benshittu的回答的评论,也许对您也有帮助
LucaM 2015年

重复的答案。此答案的较旧版本已存在。
亨里克(Henrik)

4

我很容易在Monitor Activity tool中轻松杀死所有活动的mysql进程:

1)关闭XAMPP控件

2)打开Monitor Activity

3)为所有进程选择过滤器(默认为我的进程)

4)搜索:mysql

5)强制退出所有mysql

6)重新启动XAMPP控件并再次启动apache

请享用


4

从终端尝试这两行

  1. sudo killall mysqld
  2. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

3

这可能是由于您安装的软件引起的,也可能是使用相同端口3306的任何其他软件造成的。此3306端口由XAMPP中的Mysql使用。我为Apache面临类似的问题。我正在运行skype并尝试运行XAMPP,但是skype使用的端口与Apache相同,因此无法正常工作。然后我从Skype退出,然后该端口已腾空并且apache开始了。因此,您应该在笔记本电脑中寻找阻塞或使该端口繁忙的软件。通过关闭软件来释放该端口,然后运行XAMPP,它将起作用。


3

我所做的如下:在XAMPP控制面板中,我编辑了MySql的my.ini文件,并将端口从3306更改为3307,它可以正常工作,希望对您有所帮助!

编辑:保存此更改后,请确保服务已关闭,然后重新启动服务。当我安装MySQL时,我遇到了同样的问题,它只是端口。


2

我刚才遇到了这个问题。我检查了日志文件,发现它是由服务器未正确关闭引起的。所以我发现了这个http://rivenlinux.info/how-to-recover-innodb-corruption-for-mysql/并在my.cnf的[mysqld]中添加了一个简单的配置“ innodb_force_recovery = 1”。然后问题解决了。

日志文件位于/ Applications / XAMPP / xamppfiles / var / mysql中,并以您的服务器名称命名。只需链接此XXX-MacBook-Pro.local.err


谢谢 这很有帮助。找到错误日志,发现innodb引起了问题。它现在重新启动,但现在无法再访问数据库。因此,有更大的潜在的问题:(我认为这事做更新的Mac OSX这是不是第一次,只有重新安装XAMPP也不会修复它的数据库已被破坏......。。
罗伯特·卡布里

1

在这种情况下,上述与更改端口号有关的所有答案都是解决此问题的最佳方法,因为您需要语音识别软件与MAMP共存。但是,您必须记住,更改此端口号将影响您以后与MySQL的所有连接(例如,终端,php代码,phpmyadmin等)。因此,建议更改运行语音识别软件的端口。希望这会有所帮助。

:)


1

如果您收到此错误

.............ERROR! The server quit without updating PID file 

试试这个

转到/ Applications / XAMPP / xamppfiles / var / mysql /

如果没有名称为Your_Username.local.pid的文件

Your_Username should replace with your Mac Username

用此名称创建一个文件

然后尝试

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

它为我工作


1

它有同样的问题,我所做的就是为所有用户(包括系统)以及以下文件夹中包括的所有项目赋予只读权限:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

并重新启动XAMPP控件并再次启动mysql服务器,或者

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start   

1

我有同样的问题,并且在目录/ Applications / XAMPP / xamppfiles / var / mysql的hostname.err中得到此错误

2016-09-06 15:32:45 140735322399488 [注意]插件“反馈”已禁用。2016-09-06 15:32:45 140735322399488 [注意]启发式崩溃恢复模式2016-09-06 15:32:45 140735322399488 [注意]请在没有--tc-heuristic-recover 2016-09-06 15的情况下重新启动mysqld 32:45 140735322399488 [ERROR]无法初始化tc日志2016-09-06 15:32:45 140735322399488 [ERROR]正在中止

2016-09-06 15:32:48 20004来自pid文件/Applications/XAMPP/xamppfiles/var/mysql/hostname.pid的mysqld_safe mysqld已结束

然后我删除了tc.log,并通过manager-osx重新启动mysql后工作正常


删除tc.log为我解决了这个问题
Greg Kerstine

1

这可能是由于mysqd的另一个实例已经在您的mac-book-pro(MacOs-10)中运行了。几乎不可能杀死/杀死mysqld或...。我多次尝试了该路由,但没有成功。最后,以下内容对我有用:

launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

等待几分钟,然后与

ps -ef|grep mysqld

应该不见了!


1

macOS高山脉

如果mysql没有从managerox开始,并且尝试了直接命令,即

sudo /Applications/XAMPP/bin/mysql.server start

也比去编辑路径

/ Applications / XAMPP / xamppfiles / etc /

查找文件:

my.cnf

编辑它

在[mysqld]部分下,添加以下行:

innodb_force_recovery = 1

保存并运行后,或者可以通过manager-osx完成

sudo /Applications/XAMPP/bin/mysql.server start

它应该启动mysql。

运行后,您需要再次编辑

my.cnf

文件并删除刚添加的行

innodb_force_recovery = 1

停止并再次启动mysql。通过命令

sudo /Applications/XAMPP/bin/mysql.server start 

或通过manager-osx

它将工作正常。


0

您的语音识别软件可能内部有一个mysql安装程序,当您安装该软件时,它也已经安装了mysql并将其添加到服务中,并且一旦系统启动,该mysql服务就会启动。因此,现在您拥有两个mysql服务器(一个来自语音识别软件,另一个来自XAMPP),这就是为什么杀死以前的进程(mysql服务)可以解决您的问题的原因。但这不是一个永久性的解决方案,每次启动计算机时都必须重复进行。因此,最好是找出该mysql服务器(服务)并更改其端口号。或更改设置,以便在计算机启动时不启动mysql服务(但可能是您的语音识别软件无法正常运行)

希望对您有帮助。

干杯


0

您似乎通过终止进程找到了解决方法,但是请确保检查MySQL分区上的可用空间。如果您的日志或数据库文件占用了所有驱动器空间,则mysqld将不会启动。


0

重新启动计算机,或使用上面列出的'kill'命令解决此问题。为了防止发生这种情况,我发现我的计算机进入睡眠状态时都会发生这种情况。该端口显然是保留的,然后在唤醒时,mysql尝试重新连接到该端口,但不能。这也可能是您的问题。


0

我在OS X Yosemite 10.10.2上运行XAMPP 5.6.3-0,两次遇到相同的问题,第一次是Mavericks。由于针对MySQL数据库问题的各种解决方案没有开始使用Manager App,我想确认对我有用的方法。始终有效并迫使MySQL启动的解决方法是打开终端并使用:sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start我打开了Manager App并启动了ProFTPD和Apache,然后运行sudo命令。

wishap提出的另一个可行建议是找到/Applications/XAMPP/xamppfiles/etc/my.cnf文件,并将“所有人”的权限更改为只读。

我遇到的另一个问题似乎是许多解决方案的另一个问题,是在一切开始之后然后进入localhost的问题,该问题使我进入xampp启动画面,然后什么也没有。至少对我来说,访问phpMyAdmin页面最有效的方法是输入localhost / phpmyadmin

我希望这可以帮助其他人通读一堆线程来寻找答案。

问候,埃里克


0

尝试此操作,sudo service mysql stop它将停止任何其他mysql服务,然后重新启动xampp



0

它有同样的问题,我所做的就是为所有用户和以下文件夹中包括的所有项目赋予只读权限:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

0

好吧,有时候ERROR!在终端的mysql注释中会显示一条消息。然后,只需重新安装(覆盖)XAMPP,即可解决该问题。


我也有错误!没什么 我使用了该线程,然后执行了sudo killall步骤。我不必重新安装-osx el capitan
Splambo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.