Me gustaría iniciar automáticamente el servidor MySQL al inicio. Esto fue posible en Mavericks, pero parece que no funciona en Yosemite.
editar : parece que esto también funciona con El Capitán
mysql
osx-yosemite
osx-elcapitan
Xaver
fuente
fuente
sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
Seguí @Xavers direcciones y al intentar ejecutar el comando
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
se le dio el error:
Después de rascarme la cabeza por un minuto, descubrí que al eliminar la declaración DOCTYPE DTD en la parte superior, el error desaparecía y, al reiniciar, el servidor mySQL se está ejecutando.
Entonces, mi XML se ve así:
<?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>
fuente
Si instaló mysql con homebrew , puede obtener instrucciones sobre cómo iniciarlo automáticamente escribiendo
brew info mysql
.Por ejemplo, la salida en mi máquina es:
To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
fuente
Crear
/Library/LaunchDaemons/com.mysql.mysql.plist
y guardarlo con el siguiente 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> </true> </dict> </plist>
Luego cargue el archivo plist recién creado
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
fuente
apachectl start
inicia el servidor? están relacionados?sudo launchctl load -w...
lanza un errorInvalid property list
Este artículo me ayuda a resolver el problema del error no válido. Plist corregido que utilicé a continuación.
Cómo saber qué línea del archivo plist es incorrecta
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList- 1.0.dtd"> <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>
fuente
Ninguna de las otras respuestas proporcionadas funcionó para iniciar automáticamente mi servidor MySQL. Seguí las instrucciones del manual de MySQL 5.6 y finalmente se inicia automáticamente de nuevo. Crea 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 launchctl load -F com.oracle.oss.mysql.mysqld.plist
fuente
Cuando usé el plist sugerido en respuestas anteriores, cambié el usuario a _mysql para mi sistema, pero el botón "Detener servidor MySQL" en el panel de preferencias de MySQL ya no funcionaba. La
KeepAlive
tecla hará que el proceso se inicie nuevamente inmediatamente después de presionar el botón Detener. Usé la claveRunAtLoad
para que se iniciara al reiniciar, pero permití que el botón en el panel siguiera funcionando.<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>RunAtLoad</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>
Luego, como en las otras respuestas, corrió:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Ahora, MySQL se inicia al reiniciar, pero el panel de MySQL en Preferencias del sistema aún funciona. Estoy ejecutando El Capitán, 10.11.2
fuente