OS Xをアップグレードした後、MySQLのインストールが起動時にロードを停止しました。
これは MySQLのウォークスルー 言います:
「スタートアップアイテムのインストールにより、変数MYSQLCOM = -YES-がシステム構成ファイル/ etc/hostconfigに追加されます。MySQLの自動起動を無効にする場合は、この変数をMYSQLCOM = -NO-に変更します。」
だから、私はそのファイルを開いて言った:
# This file is going away
AFPSERVER=-NO-
AUTHSERVER=-NO-
TIMESYNC=-NO-
QTSSERVER=-NO-
MYSQLCOM=-YES-
OSX開発者が# This file is going away
を追加したと思いますが、確信はありません。
その場合、OSX Yosemiteの起動時にMySQLを起動する適切な方法は何ですか?
これがそれを修正したものです:
まず、新しいファイルを作成します:/Library/LaunchDaemons/com.mysql.mysql.plist
<?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>
次に、許可を更新して、launchctl
に追加します。
Sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
Sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
Sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
homebrew でmysqlをインストールした場合、ログイン時にlaunchd
でmysqlを起動できます:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
受け入れられた回答は、MySQLサーバーを自動起動するために機能しませんでした(実際、アクティブになっているときに開くと、設定ペインがシステム設定をクラッシュしました)。 MySQL 5.6ハンドブック の指示に従い、最終的に再び自動起動します!次の内容のファイル/Library/LaunchDaemons/com.Oracle.oss.mysql.mysqld.plist
を作成します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.Oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
<string>--port=3306</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
ファイルを作成した後、次のコマンドを実行します。
cd /Library/LaunchDaemons
Sudo chown root:wheel com.Oracle.oss.mysql.mysqld.plist
Sudo chmod o-w com.Oracle.oss.mysql.mysqld.plist
Sudo launchctl load -F com.Oracle.oss.mysql.mysqld.plist
私のMacはEl Capitanで動作します。 brew経由でインストールされたMySQL。
mysql.server status
解決すべき問題がいくつかあると教えてくれました。
ERROR! MySQL is not running, but PID file exists
homebrew.mxcl.mysql.plist
ディレクトリで/usr/local/Cellar/mysql/x.x.x/
ファイルを見つけ、/Library/LaunchDaemons/
にコピーしました
Sudo cp homebrew.mxcl.mysql.plist /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
必要なすべての許可を設定します。
Sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Sudo chmod 644 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Justinで記述されたアドバイスの一部を使用
bash script by MacMiniVault があります。これはあなたのためにこれを行います-MySQLもインストールします。プロセスを説明する article もあります。
この記事では、スクリプトを直接Terminalにパイプして実行することをお勧めしますが、これには深刻なセキュリティ上の影響があるため、ローカルで実行する前にスクリプトをダウンロードして検査することをお勧めします。
注:この返信は、前述の記事の指示に従うことのセキュリティへの影響に関するコメントに応じて書き直されました。シェルスクリプトをunknownソースからbashに直接パイプすることは一般的に悪い考えです。また、スクリプトを理解していないか、作成者を信頼していない場合は、使用しないでください。