Wie starte / stoppe ich den MySQL-Server?

Ich habe versucht, in einigen Artikeln zu finden, die beschreiben, wie man MySQL-Server richtig startet und stoppt.

Ich habe diesen Link gefunden: So starten / stoppen Sie den MySQL-Server unter 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

Ich habe mein Passwort eingegeben und wieder sehe ich den gleichen Fehler.

Nächster Befehl:

sudo /etc/init.d/mysql - root -p start

ergebnisse in:

ERROR 1049 (42000) Unknown database 'start'.

Und wenn ich diesen Befehl ausführe:

sudo service mysql start

MySQL-Server erfolgreich gestartet. Cool!

Also, was ist los mit den anderen Befehlen? Warum führen sie zu Fehlern?

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 

und sie haben alle gut funktioniert.

Für Ubuntu 12.10 bis 14.04 (Emporkömmling)

Neuere Versionen von Ubuntu verwenden systemanforderungen.

MYSQL STARTEN:

sudo start mysql

MYSQL NEU STARTEN:

sudo restart mysql # The service must be running

MYSQL STOPPEN:

sudo stop mysql # The service must be running

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:

service mysql start

Ich hatte das gleiche Problem mit Ubuntu64 und habe es behoben, indem ich einfach nicht systemctl verwendet habe, sondern stattdessen folgendes:

sudo service mysql restart

hoffentlich funktioniert dieser Befehl für Sie.

nach der Installation von MySQL auf Ihrem System tun Sie das einfach:

$ dienst MySQL-Status

wenn Service down das einfach macht :

$ Dienst mysql starten

und dafür, dass ich meinen Dienst beendet habe :

$ Dienst mysql Stopp

Dieser sollte für den manuell erstellten MySQL-Server funktionieren:

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql

Unter Ubuntu 18.04 ist der Socket in der Datei definiert

 /etc/mysql/mysql.conf.d/mysqld.cnf socket     = /var/run/mysqld/mysqld.sock

Das Verzeichnis war nicht vorhanden, daher habe ich es manuell wie folgt erstellt:

sudo mkdir -p /var/run/mysqld

Starten Sie mysql neu. Das hat es für meinen Fall hier gelöst.

Ich war mit dem gleichen Problem konfrontiert und habe es deinstalliert und erneut installiert, indem ich die folgenden Befehle befolge:

1) sudo apt-get --purge Entfernen Sie den MySQL-Server mysql-common mysql-Client

2) sudo apt update &Ampere;&Ampere; sudo apt dist-upgrade &Ampere;&Ampere; sudo apt autoremove

3) sudo apt-get installieren -und mysql-Server mysql-Client

verwenden Sie diesen Befehl, um SQL Server als Root-Benutzer zu starten

sudo service mysql restart

ODER

sudo /etc/init.d/mysql start

Neustart mit diesem Befehl

sudo /etc/init.d/mysql restart

Stoppen Sie den MySQL-Server mit diesem Befehl

sudo /etc/init.d/mysql stop

Überprüfen Sie, ob MySQL ausgeführt wird:

sudo service mysql status

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

Tim hat Recht. Verwenden Sie *sudo service mysql start *.

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.