私はhomebrew経由でMySQLをインストールしました。これらはinstructionsです。 homebrewがインストールするサービスはLaunchAgentです。これはうまく動作しますが、私のユーザーがログインしている間だけ実行されます.MySQLを常に稼働させたいのです。MySQL LaunchDaemonがmacOSで動作していませんEl Capitan Server
私は、homebrew.mxcl.mysql.plist
を/Library/LaunchAgents
にコピーし、権限を644 root:wheelに設定し、sudo launchctl -w /Library/LaunchAgents/homebrew.mxcl.mysql.plist
をロードしてみました。 sudo launchctl list
は、plistがロードされ、ステータスが0であることを示していますが、PIDはありません。 ps aux | grep mysql
を実行すると、関連するプロセスが表示されません。
手動でコマンドを実行すると、/usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql --bind-address=0.0.0.0
が実行されますが、ユーザがログアウトするとMySQLは終了します。
すでにrelated question on stackoverflowがありますが、LaunchAgent(runs at login rather than at boot)経由でサービスを追加する方法は誰もが回答しているようです。
/Library/LaunchDaemons/homebrew.mxcl.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>homebrew.mxcl.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mysql/bin/mysqld_safe</string>
<string>--datadir=/usr/local/var/mysql</string>
<string>--bind-address=0.0.0.0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var/mysql</string>
</dict>
</plist>
のps補助
nperkins$ sudo ps aux | grep mysql
nperkins 15345 0.0 0.0 2444056 816 s001 S+ 7:02PM 0:00.00 grep mysql
にlaunchctlリスト
nperkins$ sudo launchctl list | grep mysql
- 0 homebrew.mxcl.mysql