13 votos

¿Cómo puedo evitar que MySQL se inicie al arrancar?

Tengo un MBA de mediados de 2013 ejecutando OSX 10.9.

El proceso que se inicia en cada arranque es mysqld . Creo que era de una versión antigua de MySQL que tenía instalada (vía AMPPS ). Luego instalé MAMP Pro y a menudo tengo conflictos entre estos dos procesos. Cada vez que apago y reinicio mi mac, tengo que encontrar el proceso de mysqld que se está ejecutando (en el monitor de actividad), ciérrelo y, a continuación, inicie MAMP (mediante el comando terminal: /Application/MAMP/bin/startMysql.sh no funcionará desde ningún otro sitio).

Así que me pregunto cómo puedo desactivar esto mysqld se ejecute en cada inicio.

0 votos

¿Puede ejecutar ps para seguir el proceso de los padres y ver qué está empezando mysqld ?

0 votos

A ver si alguien tiene información más específica. Rastrear procesos y matarlos desde terminal no es lo más fácil de escribir. Puedes obtener la misma información del Monitor de Actividad - selecciona mysql - luego info, luego busca el proceso padre.

1 votos

Posible respuesta útil de Superusuario: superusuario.com/a/334622

14voto

user64759 Puntos 132

Abre el terminal, entonces:

sudo launchctl list | grep -i mysql

launchctl remove xxx.xxx.mysql

Donde "xxx.xxx" se incluye en la salida del primer comando, por ejemplo "org.macports.mysql". La contraseña para el comando "sudo" es la contraseña de su propia cuenta de usuario.

Cierto, sudo no es necesario para "listar" pero como ya diste una contraseña sudo para el primer comando, se almacena por un corto tiempo en la memoria de la sesión y no es necesaria para el segundo comando (que es privilegiado). De lo contrario, simplemente omita sudo en el primer comando y úselo en el segundo. Hay más de una manera de despellejar a un gato.

2 votos

sudo launchctl list | grep -i mysql no da ningún resultado. Tampoco sudo launchctl list | grep -i mysqld i.imgur.com/WZ5EVjw.png

0 votos

Puede utilizar el panel de administración de AMPPS para desactivar el demonio MySQL de AMPPS. O mejor aún, simplemente desinstala AMPPS por completo ya que tienes otro framework instalado ahora.

0 votos

He desinstalado AMPPS y sigo teniendo este problema.

5voto

Vikram Hosakote Puntos 141

Lo siguiente me funcionó con mysql 8.0.12 instalado mediante Homebrew en macOS Mojave 10.14.1 :

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

4voto

Jonathan Sampson Puntos 121800

Si la versión de MySQL que se instaló anteriormente procedía de la página de descargas de la comunidad MySQL del sitio de SUN/Oracle, es probable que launchd no participa en la puesta en marcha del mysqld proceso. Por alguna razón, el script de arranque que se distribuye con MySQL utiliza el obsoleto "Elementos de inicio" para iniciar procesos en el arranque. De hecho, incluso la distribución binaria actual (5.6.15) de mysqld utiliza StartupItems para iniciar el servidor en OS X(?!)

Lo más probable es que el script de inicio que está lanzando la versión conflictiva de MySQL se encuentre en /Library/StartupItems/MYSQLCOM/MYSQLCOM . En el momento del arranque, ese elemento de inicio examinará el archivo en /etc/hostconfig para determinar si la configuración de la variable "MYSQLCOM" es "-YES-". Si es así, el script de inicio lanzará mysqld .

Debería ser posible desactivar el inicio de MySQL modificando la línea en /etc/hostconfig que especifica MYSQLCOM=-YES- decir MYSQLCOM=-NO- (que debería desactivar el proceso de arranque en el siguiente arranque).

Puede finalizar la instancia de mysqld ejecutando el comando:

sudo /Library/StartupItems/MYSQLCOM/MYSQLCOM stop

Para desactivar permanentemente el inicio del equivocado mysqld debería ser posible primero detener el demonio usando el comando anterior, y luego eliminar el elemento de inicio de MySQL usando el siguiente comando:

sudo rm -rf /Library/StartupItems/MYSQLCOM

Nota: también puede tener instalado el panel de preferencias de MySQL en /Library/PreferencePanes/MySQL.prefpane o ~/Library/PreferencePanes/MySQL.prefpane ...Ese panel de preferencias también puede eliminarse para 'limpiar' partes de la antigua instalación de MySQL.

0 votos

Desafortunadamente no tengo nada en mi archivo /etc/hostconfig que se asocie con MySQL: i.imgur.com/3C2jxPZ.png

0 votos

Y sudo /Library/StartupItems/MYSQLCOM/MYSQLCOM stop tampoco aportan nada: i.imgur.com/ukHtW5x.png

1voto

Oskar Puntos 1242

Podría ser más fácil para cambiar el nombre de la mysqld (o mover / copia de seguridad / eliminarlo) y luego reiniciar y buscar el mensaje de error para el elemento de lanzamiento que estaba tratando de iniciar el programa que ya no está disponible.

Las otras respuestas parecen cubrir la táctica de buscar Agentes de Lanzamiento y Daemons de Lanzamiento así como rastrear el PID que generalmente no funciona para daemons ya que usualmente tienen un PID padre de 1.

Además, puesto que mysql no se suministra con Mavericks, usted debe ser capaz de rastrear el paquete de instalación que ha seleccionado o utilizar mdfind mysqld para localizar el paquete que trajo esa base de datos a su Mac y luego localizar las instrucciones de desinstalación / desactivación para ese paquete de mysql. También querrá buscar en las preferencias del sistema en caso de que haya instalado un control allí para iniciar el software.

0 votos

mdfind mysqld no muestra ningún archivo MySQL relacionado con AMPPS, sólo archivos relacionados con MAMP (y algunos otros de programas MySQL que tengo instalados como MySQL Workbench)

1voto

Mike Puntos 978

Empieza por averiguar cuál es el proceso padre que inició tu mysql. Desde la Terminal ejecute un ps para averiguar cuál es el proceso; puede utilizar -j o -l para listar el id del padre ppid . Así que esto le mostrará:

$ ps -axjc | grep mysql

La primera columna es su identificador de usuario, la segunda es el identificador del proceso y la tercera es el identificador principal.

Si el id padre es 1 entonces habrá sido lanzado por el demonio de lanzamiento Root, lo que probablemente significa que proviene de uno de los LaunchDaemons o StartupItems. Si viene de un proceso que no es 1 pero que es un proceso launchd entonces probablemente es el LaunchAgents o está en sus elementos de inicio de sesión del sistema.

root                1     0     1      0    0 Ss     ??    4:49.10 launchd
alblue            257     1   257      0    0 Ss     ??    0:16.29 launchd
_spotlight        415     1   415      0    0 Ss     ??    0:00.94 launchd

Así que el proceso 1 es lanzado por el inicio del sistema, y cualquier cosa con el proceso padre de 1 viene de los demonios del sistema. Cualquier cosa (en este caso) con un proceso padre de 257 está siendo lanzado desde uno de los LaunchAgents o LoginItems.

Ten en cuenta que el nombre del demonio de lanzamiento o elemento de inicio no necesariamente tiene 'mysql' en el título - podría haber sido ejecutado por un programa o elemento de inicio de sesión diferente (por lo que simplemente buscarlo por su nombre podría no encontrarlo). Una vez que hayas encontrado lo que lo ha lanzado, es posible que puedas averiguar de dónde viene.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X