带有MAMP的MySQL不适用于OSX Yosemite 10.10

时间:2014-08-15 19:47:47

标签: mysql macos mamp

[编辑] 最后一个版本的MAMP与最新版本的OSX Yosemite工作正常。

两个月前我安装了Yosemite的测试版,MAMP没问题。 在最新版本的OSX中,Apache和MySQL无法正常工作。

我通过使用默认端口80找到了Apache的解决方案,并在Applications / MAMP / Library / bin中将文件envvars重命名为_envvars,但是无法解决MySQL的问题。

15 个答案:

答案 0 :(得分:59)

根据MAMP的知识库"Apache will not start - Yosemite Beta"

  

将位于envvars的文件/Applications/MAMP/Library/bin重命名为_envvars

答案 1 :(得分:13)

您还可以尝试在http://community.bitnami.com/t/mysqld-doesnt-start-in-mac-os-yosemite/25153

发布的此解决方法
/Applications/XAMPP/xamppfiles/xampp

寻找:

$XAMPP_ROOT/bin/mysql.server start > /dev/null &

并在其上添加未设置的DYLD_LIBRARY_PATH。它应该看起来像:

unset DYLD_LIBRARY_PATH
$XAMPP_ROOT/bin/mysql.server start > /dev/null &

我希望它有所帮助

答案 2 :(得分:11)

在MAMP上,我能够通过编辑 /Applications/MAMP/bin/startMysql.sh 并取消设置 DYLD_LIBRARY_PATH 来让MySQL工作。所以更新后的脚本如下所示:

# /bin/sh
unset DYLD_LIBRARY_PATH
/Applications/MAMP/Library/bin/mysqld_safe... etc.      

它还需要杀死之前由MAMP启动的所有MySQL进程。

答案 3 :(得分:6)

今天遇到同样的问题(运行Yosemite预览的最后一个版本),OSX的XAMPP的Apache没有工作/启动。 Apache的日志文件没有错误。

最后,我通过删除XAMPP for OSX并安装最新版本的AMPPS(http://www.ampps.com/downloads)解决了这个问题。

我不知道造成这种行为的最初问题有什么不同或者是什么 - 但是使用AMPPS一切都运行良好。

希望这也适合你。

答案 4 :(得分:4)

这解决了我在XAMPP上使用mysqld和apache的问题:

正如您所看到的,Yosemite DP 5在其库中更改了一些内容。可能如果您在DP5上运行XAMPP服务器,它将无法启动mysqld(MySQL数据库守护程序)。

你应该做什么?。

第1步 。下载Homebrew。打开终端,然后键入: 。 。 。 ruby -e“$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”

第2步: 。下载LIBICONV,你必须在终端输入以下行: 。 。 。 brew安装libiconv 。 。 。 brew链接libiconv -force

第3步 。下载SQLITE3,您必须在终端输入以下行: 。 。 。 brew安装sqlite3 。 。 。 brew链接sqlite3 -force

第4步 。转到Applications / XAMPP / xamppfiles / lib,然后删除以下文件(记得清空垃圾箱)。 。 。 。 libsqlite3.dylib(它是一个ALIAS) 。 。 。 libsqlite3.0.8.6.dylib 。 。 。 libiconv.2.dylib 。 。 。 libiconv(它是一个ALIAS)。

第5步 .Restart你“manager-osx.app”然后尝试打开你的mysql数据库。

通过:http://exequielplaza.com/funstuff/xampp-dp5-yosemite-mysqlfix.html

答案 5 :(得分:3)

OP问题是关于MAMP的。

安装OSX Yosemite并将envvars修复为_envvars文件夹中的bin/apache2/bin后,我遇到了此问题。

然后我收到了这个套接字错误。所以我检查了mysql的错误日志并注意到了这一点:

InnoDB: Unable to lock ./ibdata1, error: 35 InnoDB: Check that you do not already have another mysqld process

我喜欢错误日志。

我在Activity Monitor中找到了mysqld进程并将其杀死。重启MAMP和宾果游戏!这一切似乎现在都挂了!

答案 6 :(得分:1)

通过在升级到MAC OS Yosemite后更改默认的Apache 2.4端口,我解决了这种情况。

该文件位于:/etc/apache2/httpd.conf

更改 听80 至 听8080

重新启动您的MAC,并尝试再次启动MAMP服务。

答案 7 :(得分:0)

我通过卸载XAMPP并重新安装来修复此问题。如果您采用这种方法,请确保备份您在XAMPP文件夹中保存的所有内容。

答案 8 :(得分:0)

我也遇到了与MAMP相同的问题。 绝对无能,但其他回复指向OSX最近的更新我可以相信问题源于此处。卸载并重新安装MAMP和MySQL是唯一能够运行的操作...... Apache仍然挂起。将下载AMPPS以查看是否可以解决问题。

答案 9 :(得分:0)

我仍然需要使用envars,因此我可以通过从文件中删除以下内容来解决此问题。通过与此

相关的终端启动时发现一些错误
if test "x$DYLD_LIBRARY_PATH" != "x" ; then
  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
else
  DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib"
fi
export DYLD_LIBRARY_PATH

答案 10 :(得分:0)

使用此命令在Terminal.app上编辑以下文件:

sudo vim /Applications/XAMPP/xamppfiles/mysql/scripts/ctl.sh

在第59行,删除它:

/Applications/XAMPP/xamppfiles/xampp startmysql > /dev/null &

并把这个

/Applications/XAMPP/xamppfiles/bin/mysql.server start > /dev/null &

(保存文件:ESC:wq!)

在XAMPP.app上重启所有服务器(manager-osx)

答案 11 :(得分:0)

我遇到了同样的问题,上述情况都没有。

MAMP中的Apache服务器无法在端口80或8080(默认Apache端口)上运行。 问题是默认情况下在Yosemite中启用Apache。

或者:更改MAMP中的Apache端口(如果要使用默认端口,则不可取),或者通过在终端中键入以下内容来卸载启动守护程序:

  

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

答案 12 :(得分:0)

只是为了添加到这个线程,对于那些运行Bitnami MAMP的人来说,升级到Yosemite(Mampstack-5.4.28-0)时遇到了同样的问题。我通过转到

解决了这个问题

Applications / Mampstack-(您的版本)/ mysql / scripts / ctl.sh

并添加以下内容

MYSQL_PIDFILE = ....

unset DYLD_LIBRARY_PATH <==== Add this

MYSQL_START = ....

MYSQL像丝绸一样旋转。希望这可以帮助有同样问题的人。

答案 13 :(得分:0)

我发现了这个视频。这对我有用。

转到应用程序中的MAMP

然后,bin&gt; apache2&gt; bin和rename&envvars&#39;到&#39; _envvars&#39;

https://www.youtube.com/watch?v=brpKAM2WXhk

答案 14 :(得分:0)

以上解决方案对我没有用,因为我没有运行冲突的mysqld实例。检查MAMP中的mysql错误日志后,显然msqld开始出现各种问题。主要错误是:

[ERROR] /Applications/MAMP/Library/bin/mysqld: unknown option '--//skip-networking'

这指向了my.conf文件中的一个选项。在调试另一个问题的地方:

//skip-networking

作为一种选择,或者我已将其评论出来。删除该行允许MAMP中的mysql正确启动。