Come interrompere l'esecuzione di mysql all'avvio?


55

Attualmente, il mio server MySQL si avvia ad ogni avvio del server. Per un paio di ragioni, questo è un comportamento indesiderabile. C'è un modo per disabilitare questo comportamento?

Risposte:


6

Ci sono due Guis che mi vengono in mente. Da Applicazioni -> Ubuntu Software Center cerca "boot up manager". Dopo l'installazione, lo troverai nel Sistema -> Amministrazione -> BootUP-Manager. Un altro è Webmin. Webmin utilizza il tuo browser. Dopo l'installazione, punta il tuo browser su https: // localhost: 10000 / Cerca servizi e lavoralo da lì.


2
Questo metodo non ha funzionato per me il 16.04
Mostafa Ahangarha il

76

Per impedire l'avvio di mysql all'avvio:

  1. Apri il terminale: Ctrl+ Alt+T

  2. Apri il mysql.conffile:nano /etc/init/mysql.conf

  3. Commenta la start onriga nella parte superiore del file, start onpotrebbe essere suddivisa su due righe, quindi commenta entrambe. (commento aggiungendo #all'inizio)

Se vuoi avviare manualmente mysql, usa il seguente comando:

service mysql start

Tratto liberamente da qui.


3
Questa è una risposta molto utile per più di una iniziazione all'avvio.
maniat1k,

1
Ho provato, ho /usr/sbin/mysqlde in /bin/sh /usr/bin/mysqld_safeesecuzione. Ha commentato tutto ma non ha aiutato.
Emin Mastizada,

IMO questa è la risposta migliore.
simhumileco,

in Linux Mint 18.2 Cinnamon ho rimosso /etc/init/mysql.conf senza modifiche. Il server Mysql è ancora in esecuzione all'avvio. La soluzione @thebugfinder ha funzionato per me
flyingdrifter

anacron.conf e whoopsie.conf è tutto ciò che posso vedere in / etc / init @ maniat1k
Prabesh bhattarai il

73

Dal 15.04 puoi semplicemente fare:

sudo systemctl disable mysql

4
Infatti. Per il 15.04, questa è la risposta che cerchi.
CommandZ

Fantastico, finalmente ho trovato una soluzione per questo! Gli altri metodi non funzionano per me.
reves

Non riesco a riavviarlo, come posso avviare mysql dopo il comando?
reves

@rneves hai provato enableo reenable?
thebugfinder

1
@thebugfinder Ho provato enable, non lo so reenable, ma enablemi costringe a riavviare il computer per riavviare mysql
rneves

8

Le cose sono cambiate un po 'in Ubuntu ora. Penso dalla versione 11 in poi. MySQL è gestito da Upstart mentre Apache utilizza ancora gli script di init SysV tradizionali

Per MySQL, è possibile utilizzare la nuova funzionalità di sostituzione in Upstart per modificare il comportamento iniziale:

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

Per ulteriori informazioni, consultare la sezione " Disabilitazione di un lavoro dall'avvio automatico " nel ricettario Upstart.

Poiché Apache utilizza ancora i tradizionali script init SysV che è possibile utilizzare

sudo update-rc.d -f apache2 remove

per rimuovere i collegamenti da /etc/rcX.do, in alternativa, utilizzare

sudo update-rc.d apache2 disable

che "disabilita" lo script cambiandolo da uno script iniziale a uno script finale. Questo è reversibile di

sudo update-rc.d apache2 enable

La maggior parte di queste informazioni sono state ottenute da qui: https://askubuntu.com/a/40077/24678


Se si desidera ripristinare il serviziosudo update-rc.d apache2 defaults
bentech

4

In Ubuntu 18.04, sudo systemctl disable mysqlimpedirà mysql-serverl'avvio automatico all'avvio.

Per Linux, ci sono 3 principali sistemi di init: Systemd, Upstarte SysV. Sebbene quasi tutti i sistemi Linux funzionino su Systemd. Anche gli altri due sistemi init potrebbero coesistere nel tuo sistema.

Per Systemd, utilizzare il comando sudo systemctl disable mysql;
Per Upstart, usare echo manual >> /etc/init/mysql.override;
Per SysV, eseguire il comando seguentesudo update-rc.d mysql disable

Se desideri scoprire quale sistema init è in esecuzione sul tuo server, leggi questa risposta .


2

Oppure, se ti piace davvero come me, potresti semplicemente aprire una sessione Terminale e digitare:

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

È quindi possibile emettere un comando di riavvio, quindi il sistema verrà avviato senza l'avvio di mysql.


1
Questo comando potrebbe essere migliorato. Sta aggiungendo un +lasciare la linea in questo modo: #start+on blahblahblahma funziona!
Lucio,

2

In realtà, esiste anche un altro metodo per ottenere ciò, tramite lo strumento sysv-rc-conf.

Puoi installarlo digitando

sudo apt-get install sysv-rc-conf

Ti consente di assumere il controllo di tutti i servizi disponibili, inclusi quelli di eseguirli / arrestarli e configurare il funzionamento dei servizi per runlevel.

Modifica: devi eseguire questo strumento come root:

sudo sysv-rc-conf

0

È possibile utilizzare il chkconfigpacchetto di strumenti

$ chkconfig --level 345 mysqld off

2
Per favore, elabora la tua risposta. Perché pensi che questo risolva la domanda? Ad esempio, è possibile aggiungere un collegamento a un manuale come riferimento.
Byte Commander
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.