Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to auto-load MySQL on startup on OS X Yosemite / El Capitan

After upgrading OS X my install of MySQL stopped loading on startup.

This walk-through on MySQL says:

"The Startup Item installation adds a variable MYSQLCOM=-YES- to the system configuration file /etc/hostconfig. If you want to disable the automatic startup of MySQL, change this variable to MYSQLCOM=-NO-."

So, I opened that file and it says:

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

I assume OSX dev's added the # This file is going away but I'm not certain.

If that is the case, what is the proper way to start MySQL on startup on OSX Yosemite?

like image 984
Justin Avatar asked Oct 20 '14 23:10

Justin


People also ask

Why is MySQL not opening on Mac?

The reason behind the MySQL Workbench client not working can be many. It can be because your macOS version is not compatible with the version of the Workbench that you downloaded, or maybe because the version of Python installed on your macOS is not compatible with the version of Workbench you have downloaded.


2 Answers

If you installed mysql via homebrew, you can have launchd start mysql at login by:

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents 
like image 39
Yeonho Avatar answered Oct 01 '22 01:10

Yeonho


This is what fixed it:

First, create a new file: /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> 

Then update permissions and add it to 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 
like image 108
Justin Avatar answered Oct 01 '22 01:10

Justin