如何在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通常是个不错的主意。 另外,如果您不理解脚本或信任作者,请勿使用它。