Ich habe MySQL (von Repos) auf einem Entwicklungscomputer (Laptop) installiert und ich brauche den Daemon nicht bei jedem Start. Ich habe /etc/init/mysql.conf nach /etc/init/mysql.conf.old kopiert und dann alles nach der Zeile "Start on" entfernt. Beim Neustart kann ich mysqld jedoch nicht mehr über den Start starten:
$ sudo service mysql start
start: Unknown job: mysql
Dies schlägt auch fehl (versuchen Sie an dieser Stelle etwas):
$ sudo service mysql restart
stop: Unknown job: mysql
start: Unknown job: mysql
Dies ist mein Startskript:
# /etc/init/mysql.conf
....
start on
stop on starting rc RUNLEVEL=[016]
Dies ist das Standardskript:
# /etc/init/mysql.conf.old
....
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
Alles, was ich bisher gelesen habe, deutet darauf hin, dass auf diese Weise verhindert werden kann, dass Dienste beim Booten gestartet werden. Gibt es eine bessere Möglichkeit, dies zu tun, oder habe ich im Startskript einen Fehler gemacht?
UPDATE : Ich habe die Backup-Conf-Datei aus / etc / init verschoben und neu gestartet, weil ich dachte, dass möglicherweise ein Konflikt aufgetreten ist, aber der Emporkömmling sagt immer nochUnknown job: mysql
Antworten:
Wenn Sie unter Ubuntu 11.04 oder höher arbeiten, können Sie das
manual
Schlüsselwort und die .override-Dateien in / etc / init verwenden, um den automatischen Start zu deaktivieren:manual
Entfernt effektiv diestart on
Zeilengruppe aus der Konfiguration des Jobs.Wenn Sie mit Ubuntu 10.04 arbeiten, können Sie Folgendes tun:
Der letzte
start on
in der Datei überschreibt alle vorherigen, daher sollte dies funktionieren, obwohl davon ausgegangen wird, dass kein Ereignis aufgerufen wirdnever
.quelle
Aus diesem Beitrag: Der Abschnitt "Start on" muss vollständig und in der Syntax korrekt sein.
Diese Zeile bedeutet "Ausführen", wenn der Run-Level nicht in [0,1,2,3,4,5,6] liegt (dies sind die einzigen Runlevel, daher wird dieser niemals ausgeführt).
Eine andere Option ist die Verwendung
chkconfig
gemäß diesem Beitrag.quelle