我的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
看起来连接对我来说是开放的,但是MAMP stil错误地显示了这条消息:" MySQL无法启动。请查看日志以获取更多信息。"
有什么建议吗?
答案 0 :(得分:136)
对我来说有用的是删除mysql目录中的所有文件(但不是目录)。
编辑#2根据以下答案,您只需要删除日志文件:[ib_logfile0,ib_logfile1]
所以退出MAMP,然后在终端:
rm /Applications/MAMP/db/mysql/ib_logfile* #(or wherever your MAMP is installed)
编辑!:有些人提到你可能想要先备份这些文件以防出现任何问题,所以也许只需使用mv:
mv /Applications/MAMP/db/mysql/* /tmp/.
如果这不起作用,请返回并终止所有进程:
sudo killall -9 mysqld
这里也有重复: mysql server won't start MAMP
答案 1 :(得分:80)
最简单的解决方案:退出MAMP并从MAMP / db / mysql目录[ib_logfile0,ib_logfile1]中删除日志文件并重新启动MAMP。 有关更多信息,请访问http://juanfra.me/2013/01/mysql-not-starting-mamp-fix/
答案 2 :(得分:14)
rm /Applications/MAMP/db/mysql56/*
工作正常,但是在phpmyadmin中显示“没有找到数据库”,虽然有数据库,所以我的drupal因为这个而给了我错误。
我需要做的就是从ib_logfile0
删除两个文件ib_logfile1
和/Applications/MAMP/db/mysql56/
,这对我来说很有用。
答案 3 :(得分:11)
我看了MAMP网站。进入 MAMP / db / mysql56 并重命名两个日志文件(我刚刚更改了数字)。瞧,重启了MAMP,一切都很顺利。
日志文件名:
答案 4 :(得分:9)
应用程序/ MAMP /分贝/ mysql56 /
在此文件夹中,请删除除文件夹以外的所有直接文件。
这意味着您只需要删除auto.cnf, ibdata, ib_logfile,
而不是任何文件夹。
它应该有用。
谢谢。
答案 5 :(得分:8)
这里的大部分答案都是提供删除随机文件。
大多数时候,这是最糟糕的事情,特别是如果您保持开发环境的完整性非常重要。
如日志文件中所述,如果此问题与读访问权限无关,也与您在mysql中删除的文件无关,那么唯一的解决方案是:
从MAMP的文件菜单中打开my.conf文件(文件>编辑模板> MySQL)
查找并修改此行:
innodb_force_recovery = 1
使用ctrl + S保存
MAMP将为您提供重启服务器
回去建造下一只独角兽:)
答案 6 :(得分:4)
只需在终端输入以下命令:
rm /Applications/MAMP/db/mysql56/ib_logfile*
然后重新启动MAMP。
它完美地运作。
答案 7 :(得分:4)
我必须做一些事情。首先,我必须更改我的mysql目录的权限。 applications / MAMP / db / mysql56 / mysql see Stackoverflow here
如果不起作用将my.cnf文件添加到带有以下内容的applications / MAMP / conf文件夹中
[mysqld]
innodb_force_recovery = 1
见Adel'Sean'Helal。答案
这最终为我工作。
答案 8 :(得分:2)
我在不同的答案中看到,我们必须删除ib_logfile1
中的Applications/MAMP/db/mysql56/
和/Library/Application Support/appsolute/MAMP PRO/db/mysql56/
如果您使用MAMP PRO 4,则这些文件位于sixdez<-data.frame(outTemp3=c(-5.0, -4.5, -4.5, -4.5, -4.5, -4.5, -4.5, -4.5, -4.0, -4.5, -4.0, -4.0, -3.5),
hour=c("18:00", "19:00", "20:00", "21:00", "22:00", "23:00", "00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00"))
p2<-ggplot(sixdez, (aes(hour, outTemp3, group=1)))+geom_line(colour="blue", size=3, linetype="dashed" )+
scale_x_discrete(breaks = levels(sixdez$hour)[c(F, rep(T, 1))])+ylab("Ambient Temperature °C\n")+xlab("time of day")+
theme(panel.grid.major = element_blank(), panel.grid.major.x = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "transparent", colour = NA),plot.background = element_rect(fill = "transparent", colour = NA),
axis.line = element_line(colour = "black", size=2),panel.border = element_blank(),
axis.text=element_text(size=65, face="bold"),axis.text.x = element_text(vjust=+0.6,size=65, angle=45),
axis.title.y=element_text(size=65,face="bold", colour="blue"), axis.title.x =element_text(size=55, face="bold"),
axis.ticks = element_line(size = 2),axis.ticks.length=unit(.25, "cm"))+
scale_y_continuous(breaks = seq(-7.5,5,2.5), limits=c(-7.5,5),position = "right")
png('plot2.1vl08Ta.jpg', width = 1380, height = 850, units = "px", bg = "transparent")
print(p2)
dev.off()
删除这些文件对我有用(服务器在系统崩溃后无法启动)。
答案 9 :(得分:2)
我发布这个作为一个潜在的答案!
我要解决的问题如下:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/MySQL*
vim /etc/hostconfig and removed the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/MySQL*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
Library/Application Support/appsolute
文件夹(MAMP应用程序支持文件夹)希望这有帮助:)
答案 10 :(得分:1)
我刚遇到这个问题。这些步骤对我有用。
在MAMP中打开Preferences
,记下您当前的Apache和MySQL端口号。
点击Set to default Apache and MySQL ports
和Reset MAMP
按钮,然后确定。
退出MAMP
从/Applications/MAMP/db/mysql
目录中删除所有文件(不是文件夹)。
重新启动MAMP并点击Start Servers
。
注意:如果MySQL启动正常但Apache没有,请返回Preferences
并将Apache端口设置回原来的状态。单击“确定”后,MAMP应该刷新,Apache和MySQL都应该启动。
如果http://localhost/MAMP/index.php
无法加载,请打开开发人员工具(Chrome),右键单击刷新按钮并选择Empty Cache and Hard Reload
。应该加载phpAdmin页面。如果没有尝试转到开发者工具中的Application
面板,请从菜单中选择Clear Storage
,然后点击Clear Site Data
。
我希望这些步骤可以为某些人提供快速修复,而无需销毁数据库表。
答案 11 :(得分:1)
我已尝试使用MAMP 4.2版本的所有解决方案,但在El Capitan操作系统中没有一个对我有用,所以唯一有效的方法是使用Clean My Mac卸载MAMP,然后再安装旧的3.5.2版本那个人马上工作了。
答案 12 :(得分:1)
从MAMP / db / mysql56文件夹中删除文件ib_logfileN(N为数字)。
然后重启MAMP。
应该工作!
答案 13 :(得分:1)
MAMP&amp; MAMP PRO 4.0.6 正确启动MySql服务器,但在我的机器将操作系统更新为 macOS Sierra(10.12.2)后停止这样做。我尝试了这里提到的一些选项,包括设置文件夹权限和重新安装等。对我来说似乎没有什么问题,所以我转移到 XAMPP ,到目前为止它正在服务。
更新: 我已让MAMP使用这个简单的解决方案here。
答案 14 :(得分:1)
好的,所以我尝试了我在SO和其他论坛上找到的每一个建议我没有为我工作。对我来说唯一的解决方案是安装MAMP 3版本,因为我使用MAMP进行wordpress项目版本3工作得很好。
答案 15 :(得分:0)
对我有用的是:
即使MAMP已经退出,我也有一个名为“mysqld”的进程。我强制退出进程,重新启动MAMP并再次运行。
答案 16 :(得分:0)
这对我有用:
brew list mysql
brew uninstall mysql
答案 17 :(得分:0)
如果是MAMP PRO,您需要在此处删除ib_logfiles:
rm -rf /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql56/ib_logfile*
答案 18 :(得分:0)
对我来说,my.cnf中的innodb_additional_mem_pool_size行引起了
答案 19 :(得分:0)
由于这里没有答案可以解决我的特定问题,因此我可能应该将自己的解决方案添加到列表中。
在MAMP仍在运行时,我不得不硬重置计算机。有时这会导致MAMP可以启动Apache Server
但由于某种原因而无法启动MySQL server
的问题。
此问题的解决方案是:
Applications/MAMP/tmp/mysql
mysql.sock.lock
答案 20 :(得分:0)
找出真正原因的最佳方法是在MAMP>日志> mysql_error_log.err中检查MAMP错误日志
我发现了错误“您是否已经在端口3306上运行了另一个mysql服务器?” -这实际上是我的MAMP MYSQL无法启动的原因。
端口3306已经“繁忙”,因此我将其更改为8306,这解决了我的问题。
答案 21 :(得分:0)
我在Windows和MYSQL 5.7上运行MAMP 4.1,多次遇到此问题并找到了解决方法: 对我来说删除日志文件不起作用,然后删除
,臂杆再次开始工作。 如果这对您也不起作用,请记住逐个删除每个文件,并继续检查是否有任何文件适合您。 确保始终备份。
答案 22 :(得分:0)
我只是在终端sudo killall -9 mysqld
中运行了此命令,然后我强制退出了MAMP。
重新打开Mamp,一切正常。
有时候,只需关闭然后重新启动计算机即可解决问题。
答案 23 :(得分:0)
以上答案对我都不起作用(我在MacOS上将MAMP升级到了最新的5.7)。
在浏览错误日志(/Applications/MAMP/logs/mysql_error_log.err
)一段时间后,我发现存在错误[ERROR] unknown variable 'thread_concurrency=8']
导致终止。
基于关于upgrades的帖子,我从my.cnf
中删除了该指令,然后重新启动了MAMP。此后一切都很好(提示升级数据库等)
答案 24 :(得分:0)
如果您使用的是MAMP PRO 5.7+(18029)
1。只需停止MAMPRO。 2.转到目录/ Applications / MAMP / db / mysql ## (其中##是您的Mysql版本的编号) 3.使用以下命令列出文件:ls -l * 4.键入命令: rm ib_logfile *#仅必须删除这2个文件。 5.重新启动MAMPRO,它必须可以正常工作!
警告::如果删除文件ibdata1将破坏您所有的“数据库”
答案 25 :(得分:0)
这对我有用(Windows 10):
提示:您可以将 mysql.exe 固定到“开始”菜单,这样您就不必总是搜索此文件夹
答案 26 :(得分:-1)
您可以在终端中试用:rm /Applications/MAMP/db/mysql/*
。
它对我有用。
答案 27 :(得分:-6)
您需要保留mysql数据库。
不要将mysql用于任何事情,它似乎是MAMP所要求的。