MAMP:Mysql无法启动

时间:2010-11-10 13:54:31

标签: mysql mamp

我的mamp mysql服务器无法启动。我尝试执行/Applications/MAMP/bin/startMysql.sh,但这给了我这个错误:

  

101110 05:50:31 mysqld_safe登录到   '/Applications/MAMP/logs/mysql_error_log.err'。

     

101110 05:50:32 mysqld_safe启动带有数据库的mysqld守护进程   /应用/ MAMP /分贝/ MySQL的

     

101110 05:50:32来自pid文件的mysqld_safe mysqld   /Applications/MAMP/tmp/mysql/mysql.pid结束

/Applications/MAMP/logs/mysql_error_log.err:

  

InnoDB:http://dev.mysql.com/doc/refman/5.1/en/operating-system-error-codes.html

     

InnoDB:无法打开或创建数据文件。

     

InnoDB:如果你试图添加新的数据文件,它在这里失败了,

     

InnoDB:您现在应该在my.cnf中编辑innodb_data_file_path

     

InnoDB:它是什么,并删除InnoDB创建的新ibdata文件

     

InnoDB:在这次失败的尝试中。 InnoDB只写了那些充满

的文件      

InnoDB:零,但还没有以任何方式使用它们。但要小心:做   不

     

InnoDB:删除包含您宝贵数据的旧数据文件!

     

101110 5:53:08 [ERROR]插件'InnoDB'init函数返回错误。

     

101110 5:53:08 [ERROR]插件'InnoDB'注册为STORAGE   发动机失灵。

     

101110 5:53:08 [错误]无法启动服务器:绑定TCP / IP端口:   地址已在使用

     

101110 5:53:08 [错误]你已经有了另一个mysqld服务器吗?   在港口运行:3306?

     

101110 5:53:08 [错误]中止

     

101110 5:53:08 [警告]强制关闭2个插件

     

101110 5:53:08 [Note] / Applications / MAMP / Library / libexec / mysqld:   关机完成

     

101110 05:53:08来自pid文件的mysqld_safe mysqld   /Applications/MAMP/tmp/mysql/mysql.pid结束

11 个答案:

答案 0 :(得分:11)

twob.net有一个非常好的解决方案。 进入终端并输入

killall -9 mysqld 

检查 - http://twob.net/journal/fix-for-mamp-mysql/。为我工作

答案 1 :(得分:8)

我发现有时候不止一次出现mysql。当MySQL无法启动时我做的是首先退出MAMP,然后进入Applications / utlities并打开Activity Monitor。从那里我搜索“my”,它应该显示可能正在运行的任何mysql。我然后退出或强制退出mysql。那时我可以使用工作的MySQL服务器打开MAMP。

希望有所帮助。

答案 2 :(得分:3)

使用MAMP 4.1.1的新/干净安装,我遇到了同样的问题。

运行时:  /Applications/MAMP/bin/startMysql.sh

MySql报道:

mysqld_safe error: log-error set to '/Applications/MAMP/logs/mysql_error_log.err', however file don't exists. Create writable for user 'mysql'.

所以,我运行touch /Applications/MAMP/logs/mysql_error_log.err并再次尝试使用startMysql.sh。它有效(但它本身并不完全“)!

答案 3 :(得分:2)

嗯,我很高兴你自己解决了这个问题;)

从你的错误文件的外观看,你看起来已经有一个MySQL运行的实例...不确定这是否适用于mac,但你可以尝试:

pidof mysqld

如果输出某些内容(一个或多个数字),则MySQL正在运行。如果输出为空,则表示不是。

答案 4 :(得分:2)

这个命令对我有用。

     ps aux | grep mysql 
     lsof -i 
     killall -9 mysqld

如果需要

    sudo killall -9 mysqld

参考:http://www.witheringtree.com/2010/05/how-to-resolve-mysql-not-starting-in-mamp/

答案 5 :(得分:0)

Jmeyer,有时候MAMP会做一些奇怪的事情,比如拒绝重启。发生这种情况时,请转到MAMP应用程序并单击“首选项”,然后单击“确定”。

由于某种原因,这会强制重新启动MAMP服务器。

不确定这是不是你想要的,但仍然是一个有用的提示。

答案 6 :(得分:0)

这就是为我做的,在终端:

sudo chown -R mysql:mysql / usr / local / mysql

答案 7 :(得分:0)

有多种方法可以解决这个问题 - 通常有一种方法可以解决。

首先,尝试退出MAMP,然后:

sudo killall -9 mysqld

如果失败,请尝试转到首选项>端口并更改为MAMP默认值。单击“确定”。然后MySQL应该启动。如果您的网站未显示在localhost,请尝试更改端口。

您也可以停止MAMP,转到系统偏好设置> MySQL并关闭MySQL,然后重新启动MAMP。

希望这有帮助!

答案 8 :(得分:0)

其他可能解决同一问题的方法:

-go文件夹MAMP / db / mysql / - 删除所有不是文件夹的文件(文件如'mysql-bin.XXXXXX'/'mysql-bin.index'/'ibdata1'/'ib_logfileX'< / p>

不用担心,这不会删除任何数据库,但请确保不删除文件夹。这就是存储数据库数据的地方。

答案 9 :(得分:0)

另一个陷阱:
检查谁是/Applications/MAMP/logs/mysql_error_log.err

的所有者

在我的计算机上,它归admin: admin所有。
/Applications/MAMP/bin/startMysql.sh将无法启动,即使使用sudo运行。

但这会起作用:

sudo su admin
/Applications/MAMP/bin/startMysql.sh

答案 10 :(得分:0)

还有另一个原因可能导致这种情况发生,我看不到有人提及它,因此我将在此答案中对此进行解释。

重新启动计算机时,有时会强制关闭应用程序,并且MAMP无法正确关闭MySQL,这会使套接字文件保持完整,而不是MySQL在关闭过程中将其彻底删除。据我了解(需要资源),MySQL曾经进行过套接字文件验证(如果以前曾被迫关闭过),但现在不再这样做了。这是您需要做的:

  1. 在终端中键入killall -9 mysqld,确保没有MySQL实例仍在运行,然后按Enter键以执行命令。它将关闭所有剩余的正在运行的mysql实例。
  2. 转到/ Applications / MAMP / tmp / mysql
  3. 找到mysql.sock文件并将其删除。也可以将其命名为mysql.sock.lock。
  4. 重新启动MAMP。

现在一切都应该启动并运行正常。如果不是,或者找不到mysql.sock文件,则可能是其他答案中提到的另一个问题。