在OSX 10.10 Yosemite上自动启动MySQL

时间:2015-06-26 13:37:58

标签: mysql macos osx-yosemite autostart

我使用自制软件(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文件,可以在这些说明中看到。我认为当我在新机器/操作系统上安装时,这些指令对我来说不起作用。

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

  

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

我在/usr/local/Cellar/mysql/5.6.25/support-files找到了 mysql.server ,我也可以通过运行带有所需功能的/path/to/file/mysql.server来启动,停止和检查MySQL的状态。但是,我不知道"正确的位置"就像说明书一样在我的系统上。

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

- 更新 - 我在/usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe找到了 mysqld_safe ,并在创建了一个新的.plist文件之后,如MySQL Launch Daemon教程中所述 - 用户设置为mysql并尝试使用{ {1}},启动后它仍然没有启动MySQL。

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

_mysql

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

  • <?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>
  • /usr/local/Cellar/mysql/5.6.25/bin/mysqld_safe &

3 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

来自brew info mysql文档,它说:

要启动启动mysql,请在登录时重新启动:

brew services start mysql

答案 2 :(得分:0)

如果您曾阅读过brew手册,您可能会知道。点按brew services,您将看到&#34;将Homebrew公式与OS X的launchctl管理器集成。可以将服务添加到/ Library / LaunchDaemons或〜/ Library / LaunchAgent。基本上,/ Library / LaunchDaemons中的项目在启动时启动,而〜/ Library / LaunchAgent中的项目在登录时启动。当以sudo开始时,它会运行 /库/ LaunchDaemons;否则,它在〜/ Library / LaunchAgents&#34;上运行。希望这可能有所帮助。