Ihre ersten beiden Befehle wurden nicht als root ausgeführt, daher ist dies das erwartete Verhalten. Sie müssen root sein, um MySQL zu stoppen / zu starten.
Jedoch:
sudo /etc/init.d/mysql start
sollte funktionieren. In der Tat tut es, für mich:
kojan:~> sudo /etc/init.d/mysql restart[sudo] password for chris: Stopping MySQL database server: mysqld.Starting MySQL database server: mysqld.Checking for corrupt, not cleanly closed and upgrade needing tables..
Ich habe Neustart anstelle von Start verwendet, da es bereits ausgeführt wurde, aber der Effekt ist der gleiche. Sind Sie sicher, dass Sie Ihr Passwort richtig eingegeben haben? :) Haben Sie Ihre Sudo-Konfiguration überhaupt bearbeitet, was dazu führen würde, dass dies nicht mehr funktioniert?
Das hier..
sudo /etc/init.d/mysql - root -p start
Die Argumente sind falsch. ein init.d Skript dauert nur start oder stop oder restart - nur ein Wort sagt ihm, was er tun soll. Sie können nicht mehrere Argumente angeben, wie Sie es versucht haben.
Wie auch immer, die kurze Antwort ist die, die Sie tatsächlich zur Arbeit gebracht haben, ist der empfohlene Weg. service ersetzt das gesamte Init.d Skripte im Laufe der Zeit, also sollten Sie sich angewöhnen, sie zu verwenden service. Die Seite, auf die du verlinkst, wurde 2008 geschrieben, muss also mit etwas Salz genommen werden :)
Hilft auch zu überprüfen, ob "mysql" der richtige Dienstname ist. In meinem Fall war es das nicht. Ich bekam immer wieder folgende Antwort: mysql: nicht erkannter Dienst beim Ausführen
service mysql status
Dann habe ich / etc / init überprüft.d und gefundenes Skript namens mysqld, das den Prozessnamen auflistet: mysqld und prog = mysqld
Also dann habe ich es getan
service mysqld statusservice mysqld stopservice mysqld start
Eigentlich habe ich einen seltsamen Fehler erhalten, als ich mysql-workbench auf meinem Ubuntu-Rechner installiert habe. Danach habe ich versucht, den MySQL-Dienst mit diesem Befehl zu starten:
service mysql start
Also habe ich die Lösung bekommen, dass der MySQL-Server nicht installiert war, also habe ich ihn installiert und mein Problem wurde gelöst. Der Befehl zum Installieren von MySQL-Server lautet:
sudo apt-get install mysql-server
Nach erfolgreicher Installation starten Sie den MySQL-Server als:
Tatsächlich hat es auch mit sudo bei mir nicht funktioniert, aber dann habe ich im Skript den folgenden Hinweis gefunden: * Anstatt Init-Skripte über / etc /init aufzurufen.d, benutze den Dienst (8) * und es war in Ordnung
Im Allgemeinen können Sie sudo -l , um zu sehen, was Ihr spezifischer Benutzer auf Ihrem spezifischen System mit sudo tun darf. (Ihre Berechtigungen werden in /etc/sudoers konfiguriert.) Ich weiß jedoch nicht genau, ob es in diesem speziellen Fall helfen würde. EDIT: Warte, egal, der Zugriff verweigert Fehler sieht aus wie es von MySQL oder etwas kommt, nicht sudo.