Hat man MySQL unter OS X mittels Homebrew installiert, benutzt aber nicht den eigenen User, sondern “admin”, so funktionieren die in von der Formula ausgegebenen Hinweise zum automatischen Start nicht.
Damit MySQL beim Systemstart hochgefahren wird, muss das plist-File nicht in ~/Library/LaunchAgents, sondern in /Library/LaunchDaemons verlinkt werden, da LaunchAgents nur beim Login eines Users gestartet werden.
$ sudo ln -sfv /usr/local/opt/mysql/homebrew.mxcl.mysql.plist /Library/LaunchDaemons
Nun noch die Rechte korrigieren:
$ sudo chown root:wheel /usr/local/opt/mysql/homebrew.mxcl.mysql.plist
Da MySQL beim Systemstart von “root” gestartet wird, muss der User “admin” explizit in der MySQL-Konfiguration /etc/my.cnf gesetzt werden:
[mysqld]
user=admin
Soll MySQL ohne Reboot gestartet werden, erfolgt dies mit folgendem Kommando:
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Bei anderen Datenbanken wie Postgres oder MongoDB kann man übrigens genauso vorgehen.
Vergisst man, die Rechte auf root:wheel zu korrigieren, erhält man beim Starten von MySQL folgende Fehlermeldung:
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
/usr/local/Cellar/mysql/5.7.10/homebrew.mxcl.mysql.plist: Path had bad ownership/permissions
Wichtig ist auch, MySQL mittels sudo als “root” zu starten, da sonst folgender Fehler auftritt:
$ launchctl load /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Could not find domain for