我的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结束
答案 0 :(得分:11)
twob.net有一个非常好的解决方案。 进入终端并输入
killall -9 mysqld
答案 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曾经进行过套接字文件验证(如果以前曾被迫关闭过),但现在不再这样做了。这是您需要做的:
killall -9 mysqld
,确保没有MySQL实例仍在运行,然后按Enter键以执行命令。它将关闭所有剩余的正在运行的mysql实例。现在一切都应该启动并运行正常。如果不是,或者找不到mysql.sock文件,则可能是其他答案中提到的另一个问题。