Mam mysql, który działał dobrze, ale teraz się nie uruchamia. Wszystko, co udało mi się osiągnąć, to używanie
sudo start mysql
który generuje następujący błąd:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.5" (uid=1000 pid=1678 comm="start mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Próbowałem googlować jego sekcje, ale wygląda na to, że jest to w zasadzie bezużyteczny błąd. W każdym razie mogę uzyskać więcej informacji o tym, co się dzieje?
Odpowiedzi:
Problem jest taki:
Ten bit oznacza, że użytkownik, który skontaktował się z Upstart w celu wykonania akcji startowej, ma identyfikator użytkownika 1000 (nie root, root to 0). Ten identyfikator użytkownika jest zwykle przypisywany pierwszemu użytkownikowi niesystemowemu. Coś musi być poważnie nie tak z użyciem sudo lub samego sudo, ponieważ polecenie nie eskaluje poprawnie do roota.
Możesz zobaczyć ten sam błąd w tym poleceniu, dla porównania (zauważ brak sudo):
źródło
sudo start mysql
tosudo
. Pomogło mi to z tym samym błędem, ale przede wszystkim nie używałem sudo.Zalecanym sposobem uruchamiania usług jest użycie
service
polecenia:źródło
start
to skrótservice $1 start
, więc powinno być tak samo.start
to tak naprawdęinitctl
(dowiązanie symboliczne), które działa,initctl start
gdy jest wywoływane jakostart
.initctl start
różni się odservice ... start
?