sierra - Cómo cargar MySQL al inicio en OS X Yosemite/El Capitan
mysql command not found mac (5)
Después de actualizar OS X, mi instalación de MySQL se detuvo al iniciarse.
Este recorrido en MySQL dice:
"La instalación del elemento de inicio agrega una variable MYSQLCOM = -SÍ- al archivo de configuración del sistema / etc / hostconfig. Si desea deshabilitar el inicio automático de MySQL, cambie esta variable a MYSQLCOM = -NO-".
Entonces, abrí ese archivo y dice:
# This file is going away
AFPSERVER=-NO-
AUTHSERVER=-NO-
TIMESYNC=-NO-
QTSSERVER=-NO-
MYSQLCOM=-YES-
Supongo que OSX dev agregó el # This file is going away
pero no estoy seguro.
Si ese es el caso, ¿cuál es la forma correcta de iniciar MySQL en el inicio en OSX Yosemite?
Hay un script bash de MacMiniVault , que hará esto por usted e instalará MySQL también. También hay un article que describe el proceso.
En el artículo se sugiere pasar el script directamente a Terminal y ejecutarlo, pero como esto tiene serias implicaciones de seguridad, es una mejor idea descargar e inspeccionar el script antes de ejecutarlo localmente.
Nota: esta respuesta ha sido modificada en respuesta a los comentarios sobre las implicaciones de seguridad de seguir las instrucciones en el artículo mencionado anteriormente. En general, es una mala idea conectar un script de shell desde una fuente desconocida directamente a bash. Además, si no entiende el guión o no confía en el autor, no lo use.
La respuesta aceptada no funcionó para iniciar automáticamente mi servidor MySQL (y de hecho mi Panel de Preferencias se colgaba de las Preferencias del sistema cada vez que intentaba abrirlo mientras estaba activo). Seguí las instrucciones del manual de MySQL 5.6 y ¡finalmente vuelve a comenzar automáticamente! Cree el archivo /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
con el siguiente contenido:
<?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>
Y ejecute los siguientes comandos después de crear el archivo:
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
Mi Mac corre en El Capitán. MySQL instalado a través de brew.
mysql.server status
me dijo que tenía algunos problemas para resolver:
ERROR! MySQL is not running, but PID file exists
Se encontró el archivo homebrew.mxcl.mysql.plist
en el directorio /usr/local/Cellar/mysql/xxx/
y se copió en /Library/LaunchDaemons/
sudo cp homebrew.mxcl.mysql.plist /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Establezca todos los permisos necesarios:
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
Parte usada de los consejos, descrita por Justin
Si instaló mysql a través de homebrew , puede iniciar start mysql al iniciar sesión mediante:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Esto es lo que lo solucionó:
Primero, cree un nuevo archivo: /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>
A continuación, actualice los permisos y agréguelos a 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