我的MAMP mysql服务器无法启动.我在网上看到的所有建议都说要检查运行的其他mysqld进程并在它们存在的情况下将其杀死,并且它应该解决问题,但它不适合我.
这是错误日志:
130415 13:42:12 mysqld_safe Starting mysqld daemon with databases from /Library/Application Support/appsolute/MAMP PRO/db/mysql
130415 13:42:12 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql/ is case insensitive
130415 13:42:12 [Note] Plugin 'FEDERATED' is disabled.
130415 13:42:12 InnoDB: The InnoDB memory heap is disabled
130415 13:42:12 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130415 13:42:12 InnoDB: Compressed tables use zlib 1.2.3
130415 13:42:12 InnoDB: Initializing buffer pool, size = 128.0M
130415 13:42:12 InnoDB: Completed initialization of buffer pool
130415 13:42:12 InnoDB: highest supported file format is Barracuda.
130415 13:42:13 InnoDB: Waiting for the background threads to start
130415 13:42:14 InnoDB: 1.1.8 started; log sequence number 1707549
130415 13:42:14 [Note] Event Scheduler: Loaded 0 events
130415 13:42:14 [Note] /Applications/MAMP/Library/bin/mysqld: ready for connections.
Version: '5.5.25' socket: '/Applications/MAMP/tmp/mysql/mysql.sock' port: 0 Source distribution
Run Code Online (Sandbox Code Playgroud)
看起来连接对我来说是开放的,但是MAMP stil错误地输出了这条消息:"MySQL无法启动.请查看日志以获取更多信息."
有什么建议?
Eri*_*tke 139
对我有用的是删除mysql目录中的所有文件(但不是目录).
编辑#2根据下面的答案,您只需要删除日志文件:[ib_logfile0,ib_logfile1]
所以退出MAMP然后在终端:
rm /Applications/MAMP/db/mysql/ib_logfile* #(or wherever your MAMP is installed)
Run Code Online (Sandbox Code Playgroud)
编辑!:有些人提到你可能想要先备份这些文件以防出现任何问题,所以也许只需使用mv:
mv /Applications/MAMP/db/mysql/* /tmp/.
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请返回并终止所有进程:
sudo killall -9 mysqld
这也是重复的: mysql服务器不会启动MAMP
use*_*648 82
最简单的解决方案:退出MAMP并从MAMP/db/mysql目录[ib_logfile0,ib_logfile1]中删除日志文件并重新启动MAMP.欲了解更多信息,请访问http://juanfra.me/2013/01/mysql-not-starting-mamp-fix/
ksa*_*sav 19
由于这里的答案都没有解决我的特定问题,我可能应该将我自己的解决方案添加到列表中。
当 MAMP 仍在运行时,我不得不硬重置我的计算机。这有时会导致一个问题,重启机器后 MAMP可以启动Apache Server
,但由于某种原因无法启动MySQL server
。
我对这个问题的解决方案是:
Applications/MAMP/tmp/mysql
mysql.sock.lock
JSE*_*eny 14
rm /Applications/MAMP/db/mysql56/*
Run Code Online (Sandbox Code Playgroud)
工作正常,但然后它显示在phpmyadmin中没有找到数据库,虽然有数据库,所以我的drupal因为这个给了我错误.
所有我需要做的就是简单地删除这两个文件ib_logfile0
,并ib_logfile1
从/Applications/MAMP/db/mysql56/
与该诀窍我.
小智 12
我看了MAMP网站.进入MAMP/db/mysql56并重命名两个日志文件(我刚刚更改了数字).瞧,重新启动了MAMP,一切都很顺利.
日志文件名称:
应用程序/ MAMP/DB/mysql56 /
在此文件夹中,请删除除文件夹以外的所有直接文件.这意味着您只需要删除auto.cnf, ibdata, ib_logfile,
任何文件夹.
它应该工作.
谢谢.
这里的大部分答案都是提供删除随机文件.
大多数情况下,这是最糟糕的事情,特别是如果保持开发环境的完整性非常重要.
如日志文件中所述,如果此问题与读访问权限无关,也与您在mysql中删除的文件无关,那么唯一的解决方案是:
从MAMP的"文件"菜单中打开my.conf文件("文件">"编辑模板">"MySQL")
查找并编辑此行为:
innodb_force_recovery = 1
用ctrl + S保存
MAMP将为您重新启动服务器
回去建造下一个独角兽:)
只需在终端中输入以下命令:
rm /Applications/MAMP/db/mysql56/ib_logfile*
Run Code Online (Sandbox Code Playgroud)
然后重新启动 MAMP。
它可以完美地恢复。
我不得不做一些事情。首先,我必须更改我的 mysql 目录的权限。应用程序/MAMP/db/mysql56/mysql在此处查看 Stackoverflow
如果这不起作用,请使用以下内容将 my.cnf 文件添加到 applications/MAMP/conf 文件夹
[mysqld]
innodb_force_recovery = 1
Run Code Online (Sandbox Code Playgroud)
见 Adel 'Sean' Helal。回答
这就是最终为我工作的原因。