Ich verwende eine Arch Linux-Box (die aktuellste) und versuche, MySQL dazu zu bringen, beim Booten zu starten. Mit dem installierten systemd-Paket habe ich systemctl zur Verfügung, und als solches kann ich Folgendes tun:
systemctl start mysqld.service
systemctl [stop|status|restart] mysqld.service
Das ist alles in Ordnung und funktioniert sehr gut, wenn ich manuell starten / stoppen möchte, aber wenn es darum geht, es beim Booten zu starten (wenn ich 'enable' auf systemctl benutze, bekomme ich eine schlechte Ausgabe):
[root@rudivarch ~]# systemctl enable mysqld.service
Failed to issue method call: No such file or directory
Da die anderen Befehle natürlich einwandfrei funktionieren, bin ich ernsthaft verwirrt und habe einige Zeit damit verbracht, es herauszufinden ... systemctl status gibt Folgendes aus:
[root@rudivarch ~]# systemctl status mysqld.service
mysqld.service
Loaded: loaded (/etc/rc.d/mysqld)
Active: inactive (dead) since Tue, 31 Jan 2012 15:32:28 +0000; 1min 25s ago
Process: 589 ExecStop=/etc/rc.d/mysqld stop (code=exited, status=0/SUCCESS)
Process: 257 ExecStart=/etc/rc.d/mysqld start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/mysqld.service
Hat jemand eine Idee, warum "Aktivieren" nicht funktioniert?
quelle
@ Grawitys Antwort ist richtig und wahrscheinlich besser als diese, aber ich habe sie gestern gelöst, indem ich sie an das rc.d-Skript weitergeleitet habe ...
/lib/systemd/system/mysqld.service
quelle
Hinweis: Denken Sie daran, hostspezifische Gerätedateien unter
/etc/systemd/system/
und NICHT zu setzen/lib/systemd/system/
.Letzteres ist für distro-spezifische Sachen gedacht; Ersteres gilt für hostspezifische Dinge, die Sie selbst konfigurieren. Es ist wie
/usr/bin/
gegenüber/usr/local/bin/
sind.Also, es sei denn, ein Paket installiert Unit-Dateien von selbst (unter
/lib/systemd/system/
), legen Sie Ihre eigenen "benutzerdefinierten" Sachen unter/etc/systemd/system/
.quelle
Aktivieren ist das Aktivieren von "unit" aka daemon aka service beim Start von
systemd
.OpenSUSE:
quelle
Wenn ich auf meinem FC15-System "systemctl enable mysqld.service" ausführte, kam es automatisch zurück mit:
Also lauf mal:
/sbin/chkconfig mysqld on
quelle
Wenn Sie ... beim Aktivieren Ihrer Service Unit haben, kopieren Sie diese nach / etc / systemd / system
Um Ihre Service Unit zu aktivieren, fügen Sie unter ... Folgendes hinzu, damit Sie mysqld.service (dessen Aktivierung in jedem Namespace eines Benutzers) vom System aktivieren können.
Prost, sugatang itlog
quelle