¿Cómo evitar que mysql se ejecute en el momento del arranque?

55

Actualmente, mi servidor MySQL se inicia en cada arranque del servidor. Por un par de razones, este es un comportamiento indeseable. ¿Hay alguna forma de deshabilitar este comportamiento?

Иван Бишевац
fuente

Respuestas:

6

Hay dos Guis en los que puedo pensar. Desde Aplicaciones -> Centro de software de Ubuntu busque "gestor de arranque". Después de la instalación, lo encontrará en el Sistema -> Administración -> BootUP-Manager. Otro es Webmin. Webmin usa tu navegador. Después de la instalación, apunte su navegador a https: // localhost: 10000 / Busque servicios y trabaje desde allí.

picotear
fuente
2
Este método no me funcionó el 16.04
Mostafa Ahangarha
76

Para evitar que mysql se inicie en el arranque:

  1. Abra la terminal: Ctrl+ Alt+T

  2. Abre el mysql.confarchivo:nano /etc/init/mysql.conf

  3. Comente la start onlínea cerca de la parte superior del archivo, start onpodría extenderse a través de dos líneas, así que comente ambas. (comentario añadido #al principio)

Si desea iniciar mysql manualmente, use el siguiente comando:

service mysql start

Tomado liberalmente de aquí.

Kris Harper
fuente
3
Esta es una respuesta muy útil para más de una iniciación al inicio.
maniat1k
1
Probado, tengo /usr/sbin/mysqldy /bin/sh /usr/bin/mysqld_safecorriendo. Comentó todo pero no ayudó.
Emin Mastizada
OMI, esta es la mejor respuesta.
simhumileco 01 de
en Linux Mint 18.2 Cinnamon eliminé /etc/init/mysql.conf sin ningún cambio. El servidor Mysql sigue ejecutándose en el inicio. @thebugfinder solución que funcionó para mí
flyingdrifter
anacron.conf y whoopsie.conf es todo lo que puedo ver en / etc / init @ maniat1k
Prabesh bhattarai
73

Desde 15.04 simplemente puedes hacer:

sudo systemctl disable mysql
thebugfinder
fuente
44
En efecto. Para 15.04, esta es la respuesta que busca.
CommandZ
¡Impresionante, finalmente encontré una solución para esto! Los otros métodos no me funcionan.
rneves
No puedo volver a iniciarlo, ¿cómo inicio mysql después del comando?
rneves
@rneves lo intentaste enableo reenable?
thebugfinder
1
@thebugfinder he intentado enable, no sé reenable, pero enableme obliga reiniciar el equipo para comenzar de nuevo MySQL
rneves
8

Las cosas han cambiado bastante en Ubuntu ahora. Creo que a partir de la versión 11 en adelante. MySQL es manejado por Upstart mientras que Apache todavía usa scripts de inicio SysV tradicionales

Para MySQL, puede usar la nueva función de anulación en Upstart para modificar el comportamiento inicial:

sudo echo "manual" >> /etc/init/mysql.override

Para obtener más información, consulte la sección " Desactivar un trabajo para que no se inicie automáticamente " en el libro de cocina de Upstart.

Como Apache todavía usa los scripts de inicio de SysV tradicionales que puede usar

sudo update-rc.d -f apache2 remove

para eliminar los enlaces /etc/rcX.do, alternativamente, usar

sudo update-rc.d apache2 disable

que "deshabilita" el script al cambiarlo de un script de inicio a un script de detención. Esto es reversible por

sudo update-rc.d apache2 enable

La mayor parte de esta información la obtuve aquí: https://askubuntu.com/a/40077/24678

Wavesailor
fuente
Si desea restaurar el serviciosudo update-rc.d apache2 defaults
bentech
4

En Ubuntu 18.04, sudo systemctl disable mysqlevitará que se mysql-serverinicie automáticamente en el arranque.

Para Linux, hay 3 principales sistemas init: Systemd, Upstarty SysV. Aunque casi todos los sistemas Linux se ejecutan en Systemd. Los otros dos sistemas init también pueden coexistir en su sistema.

Para Systemd, use el comando sudo systemctl disable mysql;
Para Upstart, uso echo manual >> /etc/init/mysql.override;
Para SysV, ejecute el siguiente comandosudo update-rc.d mysql disable

Si desea encontrar qué sistema init se está ejecutando en su servidor, lea esta respuesta .

Yossarian42
fuente
2

O si realmente te relajas como yo, simplemente puedes abrir una sesión de Terminal y luego escribir:

sudo perl -pi.orig -e 's/start\s+on/#start\s+on/' /etc/init/mysql.conf && sudo perl -pi.orig -e 's/and\s+/#and/g' /etc/init/mysql.conf

Luego puede simplemente emitir un comando de reinicio y luego su sistema se iniciará sin mysql iniciado.

Justin Andrusk
fuente
1
Este comando podría mejorarse. Está agregando un +dejar la línea así: ¡ #start+on blahblahblahpero funciona!
Lucio
2

En realidad, también hay otro método para lograr esto, a través de la herramienta sysv-rc-conf.

Puede instalarlo escribiendo

sudo apt-get install sysv-rc-conf

Le permite tomar el control de todos los servicios disponibles, incluso ejecutarlos / detenerlos en su lugar y configurar la operación de los servicios por nivel de ejecución.

Editar: debe ejecutar esta herramienta como root:

sudo sysv-rc-conf
errikos
fuente
0

Puedes usar el chkconfigpaquete de herramientas

$ chkconfig --level 345 mysqld off
Thoman
fuente
2
Por favor, elabore su respuesta. ¿Por qué crees que esto resuelve la pregunta? Por ejemplo, puede agregar un enlace a un manual como referencia.
Byte Commander