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?
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:
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ì.
Per impedire l'avvio di mysql all'avvio:
Apri il terminale: Ctrl+ Alt+T
Apri il mysql.conf
file:nano /etc/init/mysql.conf
Commenta la start on
riga nella parte superiore del file, start on
potrebbe 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.
/usr/sbin/mysqld
e in /bin/sh /usr/bin/mysqld_safe
esecuzione. Ha commentato tutto ma non ha aiutato.
Dal 15.04 puoi semplicemente fare:
sudo systemctl disable mysql
enable
o reenable
?
enable
, non lo so reenable
, ma enable
mi costringe a riavviare il computer per riavviare mysql
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.d
o, 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
sudo update-rc.d apache2 defaults
In Ubuntu 18.04, sudo systemctl disable mysql
impedirà mysql-server
l'avvio automatico all'avvio.
Per Linux, ci sono 3 principali sistemi di init: Systemd
, Upstart
e 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 .
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.
+
lasciare la linea in questo modo: #start+on blahblahblah
ma funziona!
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
È possibile utilizzare il chkconfig
pacchetto di strumenti
$ chkconfig --level 345 mysqld off