如何在OS X Yosemite / El Capitan启动时自动加载MySQL

升级OS X后,我的MySQL安装停止加载启动。

MySQL的这个演练说:

“启动项目安装将一个variablesMYSQLCOM = -YES-添加到系统configuration文件/ etc / hostconfig。如果你想禁用MySQL的自动启动,把这个variables改为MYSQLCOM = -NO-。

所以,我打开这个文件,它说:

# This file is going away AFPSERVER=-NO- AUTHSERVER=-NO- TIMESYNC=-NO- QTSSERVER=-NO- MYSQLCOM=-YES- 

我假设OSX开发人员添加# This file is going away但我不确定。

如果是这样的话,在OSX优胜美地启动MySQL的正确方法是什么?

这是固定的:

首先,创build一个新文件:/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,你可以通过以下方式启动mysql:

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

被接受的答案没有工作来自动启动我的MySQL服务器(事实上,我的首选项面板崩溃系统偏好每次我试图打开它,而它是活跃的)。 我按照MySQL 5.6手册中的说明操作,最后再次自动启动! 使用以下内容创build文件/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> 

创build文件后运行以下命令:

 cd /Library/LaunchDaemons sudo chown root:wheel com.oracle.oss.mysql.mysqld.plist sudo chmod ow 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 

/usr/local/Cellar/mysql/xxx/目录下findhomebrew.mxcl.mysql.plist文件,并将其复制到/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 

使用的部分build议,由贾斯丁描述

MacMiniVault有一个bash脚本 ,它会为你做这个 – 并安装MySQL。 还有一篇文章描述了这个过程。

在文章中build议将脚本直接inputterminal并运行,但由于这有一些严重的安全隐患,因此在本地运行脚本之前下载并检查脚本是一个更好的主意。

注:为回应上述文章中有关安全影响的评论,本回复已被修改。 将来自未知来源的shell脚本直接inputbash通常是个不错的主意。 另外,如果您不理解脚本或信任作者,请勿使用它。