479 Stimmen

error: 'Kann keine Verbindung zum lokalen MySQL-Server über Socket '/var/run/mysqld/mysqld.sock' (2)' -- Fehlt /var/run/mysqld/mysqld.sock

Mein Problem begann damit, dass ich mich nicht mehr als Root bei meiner mysql-Installation anmelden konnte. Ich habe versucht, mysql ohne aktivierte Passwörter laufen zu lassen... aber immer wenn ich den Befehl

# mysqld_safe --skip-grant-tables &

Ich würde die Eingabeaufforderung niemals zurückbekommen. Ich habe versucht zu folgen diese Anweisungen, um das Passwort wiederherzustellen .

Der Bildschirm sieht einfach so aus:

root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

und ich bekomme keine Aufforderung, die SQL-Befehle zum Zurücksetzen des Passworts einzugeben.

Wenn ich es durch Drücken von CTRL + C erhalte ich die folgende Meldung:

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'

Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Wenn ich den Befehl erneut ausführe und lange genug stehen lasse, erhalte ich die folgende Reihe von Meldungen:

root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

[1]+  Done                    mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#

Aber wenn ich dann versuche, mich als Root anzumelden, indem ich das tue:

# mysql -u root

Ich erhalte die folgende Fehlermeldung:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Ich habe es überprüft und /var/run/mysqld/mysqld.sock Datei nicht existiert. Der Ordner schon, aber die Datei nicht.

Ich weiß nicht, ob das hilfreich ist oder nicht, aber ich habe find / -name mysqld und es wurde angezeigt:

/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder

Ich weiß nicht, ob das normal ist oder nicht. Aber ich füge diese Informationen nur für den Fall ein, dass es hilft.

Ich beschloss schließlich, mysql zu deinstallieren und neu zu installieren.

apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin

Nachdem ich alle Pakete in der gleichen Reihenfolge wie oben neu installiert hatte, erhielt ich während der phpmyadmin-Installation den gleichen Fehler:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Also habe ich erneut versucht, zu deinstallieren/neu zu installieren. Dieses Mal habe ich nach der Deinstallation der Pakete auch alle mysql-Dateien und -Verzeichnisse manuell umbenannt in mysql.bad an ihren jeweiligen Standorten.

/var/lib/mysql 
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql

Dann habe ich versucht, neu zu installieren mysql-server y mysql-client wieder. Aber ich habe festgestellt, dass ich nicht nach einem Passwort gefragt werde. Sollte es nicht nach einem Admin-Passwort fragen?

0voto

NadZ Punkte 956

Diese Lösung kann anderen helfen, denn manchmal ist die Lösung sehr einfach.

Starten Sie in Ihrer Live-Umgebung den mysql-Server und Apache neu

sudo service mysql restart
sudo apache services restart

Dies ist ein häufiges Problem, wenn Sie ein Plugin installieren oder Datenbankbefehle ausführen.

0voto

Aman Chawla Punkte 89

Ich führe mein MySQL auf einer virtuellen Maschine in Ubuntu aus. Als ich also meinen Host und die VM neu startete, hatte sich die IP geändert. Ich hatte mysql so konfiguriert, dass es auf der IP 192.168.0.5 läuft, und jetzt, aufgrund der dynamischen Zuweisung der IP, war meine neue IP 192.168.0.8

Wenn Sie das gleiche Problem haben, überprüfen Sie einfach Ihre IP mit dem Befehl ifconfig .

Überprüfen Sie Ihre MySQL-Bindung mit dem Befehl cat /etc/mysql/my.cnf | grep bind-address

Wenn beide IPs gleich sind, dann installieren Sie Ihren mysql-Server neu.

Wenn nicht, dann ändern Sie Ihre IP in /etc/network/interfaces mit nano, vi, vim oder einem anderen Programm Ihrer Wahl.

Ich bevorzuge sudo nano /etc/network/interfaces

und geben Sie Folgendes ein

auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0

Speichern Sie die Schnittstellendatei, starten Sie Ihre Schnittstelle neu sudo ifdown eth0 && sudo ifup eth0 Ersetzen Sie "eth0" durch Ihre Netzwerkschnittstelle

MySQL neu starten sudo service mysql stop gefolgt von sudo service mysql start

Wenn Sie das gleiche Problem wie ich haben, sind Sie gut zu gehen!

0voto

user3296580 Punkte 31

Fehler: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Manchmal ist es durch, wenn mysql Server geht nach unten, in Live-Server ich denke, Sie sollten haben, um Server neu zu starten und auch in localhost müssen Sie mysql Server neu starten.

-1voto

Hemantha Punkte 353

In lampp, wie ich es kenne, werden mysql-Befehle nicht erkannt. Versuchen Sie es mit

sudo /opt/lampp/bin/mysql

öffnet sich das mysql-Terminal, in dem Sie mit Datenbanken kommunizieren können.

-1voto

ToastedGuy2 Punkte 93

Das einzige, was bei mir funktionierte, war die Deinstallation von MYSQL vollständig aus meinem System. Also habe ich das Folgende getan:

sudo apt-get remove mysql-server -y
sudo rm -r /var/lib/mysql
sudo rm -r /etc/mysql
sudo apt-get remove mysql-client -y
sudo apt-get remove mysql-common -y
sudo apt-get remove phpmyadmin -y
sudo apt-get install mysql-server -y

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X