【问题标题】:MySQL with MAMP does not work with OSX Yosemite 10.10带有 MAMP 的 MySQL 不适用于 OSX Yosemite 10.10
【发布时间】:2014-08-15 19:47:47
【问题描述】:

[编辑] 最新版本的 MAMP 与最新版本的 OSX Yosemite 可以正常工作。

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

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

【问题讨论】:

    标签: mysql macos mamp


    【解决方案1】:

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

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

    【讨论】:

    • 这适用于我在优胜美地的 MAMP PRO。无需重新安装。
    • OP 提到的是 mySQL 而不是 apache
    • 成功了!这是今天的救命稻草!非常感谢:-)
    【解决方案2】:

    您也可以尝试发布在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 &
    

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      在 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 进程。

      【讨论】:

      • 这个正是我需要的。重新启动 Mac 后它可以工作。
      • 如果这不能立即工作,可能是因为 mysqld 已经“糟糕”地启动了。打开活动监视器并强制退出。然后尝试在 MAMP 中单击“启动服务器”,它应该会在几秒钟后工作。在localhost:8888/MAMP(默认的 mamp 起始页)对其进行测试。如果 MySQL 不工作,它会在该页面上给你一个连接错误。如果它正在工作,页面将正确加载,您将获得一个 MAMP/tmp/mysql/mysql.pid 文件。
      • 不错的谢尔盖。当我单击 MAMP 控制面板上的“启动服务器”时,此修复程序立即生效。
      【解决方案4】:

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

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

      我不知道有什么不同或导致此行为的最初问题是什么 - 但使用 AMPPS 一切正常。

      希望这对你也有用。

      【讨论】:

      • 你有什么建议不要重新创建每个数据库吗?
      • 如果您的 mysql 初始实例仍在运行,请连接终端客户端或例如 Sequel Pro (sequelpro.com) 之类的工具并导出/转储您的数据库 - 这样您就可以将它们导入你的新 mysql 服务器。
      【解决方案5】:

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

      如您所见,Yosemite DP 5 更改了其库中的一些内容。如果你在 DP5 上运行 XAMPP 服务器,它可能不会启动 mysqld(MySQL 数据库守护进程)。

      你应该怎么做?

      第 1 步 .下载自制软件。打开你的终端,然后输入: . . . ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

      第 2 步: .下载 LIBICONV,您必须在终端输入以下行: . . .酿造安装 libiconv . . . brew link libiconv —force

      第 3 步 .下载 SQLITE3,你必须在终端输入以下行: . . .冲泡安装 sqlite3 . . . brew link sqlite3 —force

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

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

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

      【讨论】:

      • 我已经看过这个解决方案,但我使用的是 MAMP 而不是 XAMPP。
      • Yosemite 杀死了我的 XAMPP 并修复了它!就这样没有人感到困惑,libiconv.dylib,而不是 libiconv.la 是最后一个要删除的文件。
      • 我一直在努力解决这个问题。谢谢先生,为我工作!
      【解决方案6】:

      OP 问题是关于 MAMP 的。

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

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

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

      哎呀,我喜欢错误日志。

      我在活动监视器中找到了进程 mysqld 并将其杀死。重新启动 MAMP 和宾果游戏!这一切似乎现在挂钩了!

      【讨论】:

        【解决方案7】:

        我已通过更改升级到 MAC OS Yosemite 后更新的 Apache 2.4 的默认端口来解决此问题。

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

        改变 听 80 至 听8080

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

        【讨论】:

        • 为我使用 XAMPP!
        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

          • 在斯蒂芬上方查看我的答案。顺便说一句,漂亮的婚礼照片!
          【解决方案10】:

          我仍然需要使用 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
          

          【讨论】:

            【解决方案11】:

            我遇到了同样的问题,但以上都没有奏效。

            MAMP 中的 Apache 服务器无法在端口 80 或 8080(默认的 Apache 端口)上运行。 问题在于优胜美地中默认启用 Apache。

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

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

            【讨论】:

            • 这很奇怪,因为当我安装 AMPPS 时,它可以完美地使用默认端口,而无需从优胜美地卸载 apache。我认为这是一个 MAMP 问题。
            • 我从未使用过 AMPPS,但它是否可以使用预装的 OS X Apache 服务器? MAMP 有它自己的 Apache 副本,它与预先安装的副本发生冲突。真的,MAMP 的人应该考虑到这一点。如果它像在安装时重置几个文件一样简单。
            【解决方案12】:

            编辑以下文件,在 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) 上的所有服务器

            【讨论】:

            • @Lolloz89 仅适用于 OSx Yosemite 和 XAMPP 1.8.3-5
            • 为我工作谢谢:)
            • 也为我工作!不错的简单解决方案。
            【解决方案13】:

            只是为了添加到这个线程,对于那些运行 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 像丝绸一样旋转。希望这可以帮助有同样问题的人。

            【讨论】:

              【解决方案14】:

              我找到了这个视频。这对我有用。

              转到应用程序中的 MAMP

              然后,bin > apache2 > bin 并将 'envvars' 重命名为 '_envvars'

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

              【讨论】:

                【解决方案15】:

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

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

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

                //skip-networking
                

                作为一个选项,或者我已将其注释掉。删除该行允许 MAMP 中的 mysql 正确启动。

                【讨论】: