【问题标题】:Auto-Start MySQL on OSX 10.10 Yosemite在 OSX 10.10 Yosemite 上自动启动 MySQL
【发布时间】:2015-06-26 13:37:58
【问题描述】:

我已经使用自制软件 (brew install mysql) 安装了 MySQL,以便与我的 Rails 应用程序一起使用。完成后,我得到了一个相当详细的设置指南来配置 MySQL 服务器,但是它缺少有关如何配置 MySQL 以在启动后启动的信息。

要使用 MySQL,我必须在 OSX 终端手动执行以下命令:

  • cd . ; /usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe &

使用StackOverflow answer 中的说明,我创建了一个几乎相同的文件,将安装路径替换为我的,但这不起作用,因为 MySQL 在重新启动后没有运行。我还注意到我丢失了mysqld_safe 文件,如这些说明中所示。我认为这些说明对我不起作用,因为我在安装新机器/操作系统时升级了那里的 OP。

我在安装后得到的部分说明如下:

要在启动时启动 mysqld,您必须复制 support-files/mysql.server 到您系统的正确位置。

我在/usr/local/Cellar/mysql/5.6.25/support-files 找到了 mysql.server,我还可以使用它来启动、停止和检查 MySQL 的状态,方法是使用所需的功能运行 /path/to/file/mysql.server。但是,我不知道我的系统上的“正确位置”在哪里,就像说明所说的那样。

-- 使用 brew 安装 MySQL 后,如何在运行 10.10 的 Mac 上自动启动 MySQL?是否有类似于rc.local(在 Linux 上)的文件,我可以在其中放置启动命令?这个有什么帮助吗?

-- 更新-- 我在/usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe 找到mysqld_safe,并按照MySQL Launch Daemon 教程中的说明将--user 设置为mysql 并尝试使用_mysql 创建一个新的.plist 文件后,它仍然没有'不要在启动后启动 MySQL。

/Library/LaunchDaemons/com.mysql.mysql.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe</string>
    <string>--user=mysql</string>
    </array>
  </dict>
</plist>

我应该注意,以下任一命令都会在启动后启动 MySQL:

  • /usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe &amp;
  • /usr/local/Cellar/mysql/5.6.25/support-files/mysql.server start

【问题讨论】:

    标签: mysql macos osx-yosemite autostart


    【解决方案1】:

    当我这样做的时候 - brew info mysql,它提到我可以使用以下命令在启动时自动启动 mysql -

    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

    我做到了,mysql 在我的 OS X 10.10.3 Yosemite 上启动时自动启动

    【讨论】:

    • 我试过了,但没有用。我还手动将具有正确位置的homebrew.mxcl.mysql.plist 文件更新为mysqld_safe,将WorkingDirectory 和datadir 保留为/usr/local/var/mysql(存储数据库文件的位置)。 -- 你能在 ~/Library/LaunchAgents 分享有关你的设置、MySQL (mysqld_safe) 的位置和 MySQL 启动文件的内容的信息吗?
    • @n3rve 这是我的 /usr/local/opt/mysql/homebrew.mxcl.mysql.plist 中的相关内容(mysqld、datadir 和工作目录)` /usr/local/ opt/mysql/bin/mysqld_safe` ` --datadir=/usr/local/var/mysql` &lt;key&gt;WorkingDirectory&lt;/key&gt; &lt;string&gt;/usr/local/var/mysql&lt;/string&gt; . ~/Library/LaunchAgents homebrew.mxcl.mysql.plist 中的 Mysql 启动文件是指向 /usr/local/opt/mysql/homebrew.mxcl.mysql.plist 的符号链接。 PL。请注意,在brew install mysql 之后,我没有对设置/文件进行任何更新。就像上面提到的那样,并由 brew info 建议。
    • 我很确定 ~/Library/LaunchAgents 仅在登录时启动,而不是启动。
    【解决方案2】:

    brew info mysql 文档中,它说:

    现在启动 mysql 并在登录时重新启动:

    brew services start mysql
    

    【讨论】:

      【解决方案3】:

      如果您曾经阅读过 brew 手册,您可能会知道这一点。点击brew services,您将看到“将 Homebrew 公式与 OS X 的 launchctl 管理器集成。服务可以添加到 /Library/LaunchDaemons 或 ~/Library/LaunchAgents。基本上,/Library/LaunchDaemons 中的项目在启动时启动,而~/Library/LaunchAgent 中的那些是在登录时启动的。当用 sudo 启动时,它运行在 /库/启动守护进程;否则,它在 ~/Library/LaunchAgents" 上运行。希望这可能会有所帮助。

      【讨论】:

        猜你喜欢
        • 2014-07-28
        • 1970-01-01
        • 2015-01-04
        • 2015-08-28
        • 2014-12-15
        • 2014-12-13
        • 1970-01-01
        • 2014-12-24
        • 1970-01-01
        相关资源
        最近更新 更多