在Mac OS X Yosemite/El Capitan上自动启动MySQL服务器

Xav*_*ver 82 mysql osx-yosemite osx-elcapitan

我想在启动时自动启动MySQL服务器.这在小牛队中是可能的,但似乎不适用于优胜美地.

编辑:似乎这也适用于El Capitan

在此输入图像描述

Xav*_*ver 143

@dcc非常接近.这就是MySQL在Yosemite上再次自动启动的方式:

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

<?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/mysql/bin/mysqld_safe</string>
    <string>--user=mysql</string>
    </array>
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

此外,我已根据此答案更改了权限

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)

最后我运行这个命令

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)

如果您有任何添加请分享如下!

  • 我梦想有一天OSX 10.11将到来,我将不必花费2个小时来修复apache,php和mysql.也许是时候搬到Vagrant了.. (26认同)
  • 只有两个小时!哈哈 (10认同)
  • 真的行.顺便说一句,前两个命令可以组合成一个:`sudo chown root:wheel/Library/LaunchDaemons/com.mysql.mysql.plist` (8认同)

Gen*_* S. 13

我按照@revaxarts指示并尝试执行命令

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)

给出了错误:

/Library/LaunchDaemons/com.mysql.mysql.plist:无效的属性列表

在我挠了头一分钟之后,我发现删除顶部的DOCTYPE DTD声明会导致错误消失,重新启动时,mySQL服务器确实正在运行.

所以,我的XML看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/mysql/bin/mysqld_safe</string>
    <string>--user=mysql</string>
    </array>
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)


Kyl*_*dha 9

如果您使用自制软件安装了mysql,则可以通过键入获取有关如何自动启动它的说明brew info mysql.

例如,我的机器上的输出是:

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Run Code Online (Sandbox Code Playgroud)