Wie kann ich verhindern, dass MySQL beim Booten ausgeführt wird?

55

Derzeit startet mein MySQL-Server bei jedem Serverstart. Aus einigen Gründen ist dies ein unerwünschtes Verhalten. Gibt es eine Möglichkeit, dieses Verhalten zu deaktivieren?

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

Antworten:

6

Ich kann mir zwei Guis vorstellen. Suchen Sie unter Anwendungen -> Ubuntu Software Center nach "Boot-Manager". Nach der Installation finden Sie es im System -> Administration -> BootUP-Manager. Ein anderer ist Webmin. Webmin verwendet Ihren Browser. Nach der Installation richten Sie Ihren Browser auf https: // localhost: 10000 / Nach Diensten suchen und von dort aus arbeiten.

picken
quelle
2
Diese Methode hat am 16.04.
Mostafa Ahangarha 22.03.17
76

So verhindern Sie, dass MySQL beim Booten gestartet wird:

  1. Öffnen Sie das Terminal: Ctrl+ Alt+T

  2. Öffnen Sie die mysql.confDatei:nano /etc/init/mysql.conf

  3. Kommentieren Sie die start onZeile am oberen Rand der Datei aus. start onDiese kann sich über zwei Zeilen erstrecken. Kommentieren Sie also beide Zeilen aus. (Kommentar #am Anfang hinzufügen )

Wenn Sie mysql manuell starten möchten, verwenden Sie den folgenden Befehl:

service mysql start

Von hier aus großzügig genommen .

Kris Harper
quelle
3
Dies ist eine sehr nützliche Antwort für mehr als eine Initiierung beim Start.
Maniat1k
1
Versucht habe ich /usr/sbin/mysqldund /bin/sh /usr/bin/mysqld_saferenne. Hat alles auskommentiert, aber nicht geholfen.
Emin Mastizada,
IMO das ist die beste Antwort.
Simhumileco
In Linux Mint 18.2 Cinnamon habe ich /etc/init/mysql.conf ohne Änderung entfernt. MySQL-Server läuft noch beim Start. @ thebugfinder Lösung hat bei mir
funktioniert
anacron.conf und whoopsie.conf sind alles, was ich in / etc / init @ maniat1k
Prabesh bhattarai
72

Seit dem 15.04 können Sie einfach tun:

sudo systemctl disable mysql
thebugfinder
quelle
4
Tatsächlich. Für den 15.04 ist dies die Antwort, die Sie suchen.
CommandZ
Genial, endlich habe ich eine Lösung dafür gefunden! Die anderen Methoden funktionieren für mich nicht.
Rneves
Ich kann es nicht erneut starten. Wie starte ich mysql nach dem Befehl?
Rneves
@rneves hast du versucht enableoder reenable?
Thebugfinder
1
@ Thebugfinder Ich habe versucht enable, ich weiß nicht reenable, aber enablezwingt mich, den Computer neu zu starten, um MySQL erneut zu starten
Rneves
8

In Ubuntu hat sich jetzt einiges getan. Ich denke ab Version 11. MySQL wird von Upstart verwaltet, während Apache noch traditionelle SysV-Init- Skripte verwendet

Für MySQL können Sie die neue Überschreibungsfunktion in Upstart verwenden , um das Startverhalten zu ändern:

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

Weitere Informationen finden Sie im Abschnitt " Deaktivieren eines Jobs für den automatischen Start " im Upstart-Kochbuch.

Da Apache immer noch die traditionellen SysV-Init- Skripte verwendet, die Sie verwenden können

sudo update-rc.d -f apache2 remove

zum entfernen der links von /etc/rcX.doder alternativ verwenden sie

sudo update-rc.d apache2 disable

Dadurch wird das Skript "deaktiviert", indem es von einem Startskript in ein Stoppskript geändert wird. Dies ist umkehrbar durch

sudo update-rc.d apache2 enable

Die meisten dieser Informationen habe ich hier erhalten: https://askubuntu.com/a/40077/24678

Wellensegler
quelle
Wenn Sie den Dienst wiederherstellen möchtensudo update-rc.d apache2 defaults
Bentech
3

sudo systemctl disable mysqlVerhindert in Ubuntu 18.04 das mysql-serverautomatische Starten beim Booten.

Für Linux gibt es 3 Haupt-init - Systeme: Systemd, Upstartund SysV. Obwohl fast alle Linux-Systeme auf Systemd laufen. Die beiden anderen Init-Systeme können ebenfalls in Ihrem System vorhanden sein.

Für Systemd, verwenden Sie den Befehl sudo systemctl disable mysql;
Für die UpstartVerwendung echo manual >> /etc/init/mysql.override;
Für SysVFühren Sie den folgenden Befehlsudo update-rc.d mysql disable

Wenn Sie herausfinden möchten, welches Init-System auf Ihrem Server ausgeführt wird, lesen Sie bitte diese Antwort .

Yossarian42
quelle
2

Oder wenn Sie wirklich so faul sind wie ich, können Sie einfach eine Terminal-Sitzung eröffnen und dann Folgendes eingeben:

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

Sie können dann einfach einen Neustartbefehl absetzen, dann wird Ihr System gestartet, ohne dass mysql gestartet wurde.

Justin Andrusk
quelle
1
Dieser Befehl könnte verbessert werden. Es fügt ein +Verlassen der Zeile wie folgt hinzu : #start+on blahblahblahAber es funktioniert!
Lucio
2

Tatsächlich gibt es auch eine andere Methode, um dies über das Tool sysv-rc-conf zu erreichen.

Sie können es durch Eingabe installieren

sudo apt-get install sysv-rc-conf

Hiermit können Sie die Kontrolle über alle verfügbaren Dienste übernehmen, einschließlich deren Ausführung / Beendigung und der Konfiguration des Betriebs der Dienste nach Runlevel.

Bearbeiten: Sie müssen dieses Tool als root ausführen:

sudo sysv-rc-conf
Errikos
quelle
0

Sie können das chkconfigToolpaket verwenden

$ chkconfig --level 345 mysqld off
Thoman
quelle
2
Bitte erläutern Sie Ihre Antwort. Warum löst das wohl die Frage? Sie können beispielsweise einen Link zu einem Handbuch als Referenz hinzufügen.
Byte Commander