Ich habe versucht, in einigen Artikeln zu finden, die beschreiben, wie man richtig starten & stoppen mysql Server.
Ich fand diesen Link: How to start/stop MySql server on Ubuntu 8.04 | Abhi's Blogging World
Ich habe diesen Befehl ausgeführt:
/etc/init.d/mysql start
aber ich sehe diesen Fehler
ERROR 1045 (28000) Access denied for user....
Nachdem ich diesen Befehl ausprobiert habe:
sudo /etc/init.d/mysql start
habe ich mein Passwort eingegeben, und wieder sehe ich denselben Fehler.
Nächster Befehl:
sudo /etc/init.d/mysql - root -p start
führt zu:
ERROR 1049 (42000) Unknown database 'start'.
Und wenn ich diesen Befehl ausführe:
sudo service mysql start
MySQL-Server erfolgreich gestartet. Super!
Was ist also mit den anderen Befehlen los? Warum führen sie zu einem Fehler?
Ihre ersten beiden Befehle wurden nicht als root ausgeführt, das ist das erwartete Verhalten. Sie müssen root sein, um mysql zu stoppen/starten.
Wie auch immer:
sudo /etc/init.d/mysql start
sollte funktionieren. In der Tat, bei mir funktioniert es:
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 restart statt start verwendet, da es bereits lief, aber der Effekt ist derselbe. Sind Sie sicher, dass Sie Ihr Passwort richtig eingegeben haben? :) Haben Sie an Ihrer sudo-Konfiguration irgendetwas geändert, das die Funktion verhindern würde?
Diese hier...
sudo /etc/init.d/mysql - root -p start
Die Argumente sind falsch. Ein init.d-Skript nimmt nur start
oder stop
oder restart
- nur ein Wort, das ihm sagt, was es tun soll. Sie können ihm nicht mehrere Argumente geben, wie Sie es versucht haben.
Wie auch immer, die kurze Antwort ist, dass der empfohlene Weg derjenige ist, den Sie tatsächlich zum Laufen gebracht haben. service
ersetzt mit der Zeit alle init.d-Skripte, also sollten Sie sich angewöhnen, service
zu benutzen. Die von Ihnen verlinkte Seite ist 3 Jahre alt, also ist sie mit Vorsicht zu genießen :)
Es hilft auch, zu überprüfen, ob "mysql" der richtige Dienstname ist. In meinem Fall war er es nicht. Ich bekam immer folgende Antwort: mysql: unerkannter Dienst bei der Ausführung
service mysql status
Dann überprüfte ich /etc/init.d und fand ein Skript namens mysqld, das den Prozessnamen: mysqld und prog=mysqld auflistete
Also habe ich dann
service mysqld status
service mysqld stop
service mysqld start
und sie funktionierten alle einwandfrei.
START MYSQL:
sudo start mysql
NEUSTART MYSQL:
sudo restart mysql # The service must be running
{{11431791}} {_START MYSQL:{{11431791}} {STOP MYSQL:{}
sudo stop mysql # The service must be running