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?

9voto

Leopathu Punkte 614

Es gibt viele Gründe für dieses Problem, aber manchmal genügt ein Neustart des Mysql-Servers, um das Problem zu beheben.

sudo service mysql restart

9voto

user3002884 Punkte 91

Die Antwort des Schrittes Benutzer laden hat bei mir funktioniert. Manchmal ist es notwendig, die Datei in /etc/mysql/my.cnf Zeile zum Client hinzufügen

[client]
password = your_mysql_root_password
port  = 3306
host  = 127.0.0.1
socket  = /var/lib/mysql/mysql.sock

9voto

Bilal Punkte 2565

Vorläufige Lösung

Vielleicht steht jemand vor diesem Problem. Ich verwende Mysql-Werkbank において Ubuntu 14 und erhielt diesen Fehler.

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

Suchen Sie Ihre Socket-Datei, indem Sie sudo find / -type s in meinem Fall war es /run/mysqld/mysqld.sock

Ich habe also einfach einen Link zu dieser Datei in tmp Verzeichnis.

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

Bitte beachten Sie dass dies nur eine vorübergehende Lösung ist, da die erstellte Datei unter /tmp . Siehe andere Antworten für eine dauerhafte Lösung.

8voto

Susampath Punkte 664

Ich glaube, Ihr MySQL-Server ist nicht gestartet. Starten Sie daher den Server mit einem der folgenden Befehle.

#services mysql start

o

#/etc/init.d/mysql start

7voto

Buddheshwar Ojhar Punkte 109

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

Lösungen

deinstallieren Sie schließlich mysql und installieren Sie es neu. **

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

dann erneut installieren durch

  • sudo apt-get install mysql-server-5.6

Nach diesem Vorgang werden 164 MB zusätzlicher Speicherplatz verwendet.

  • Möchten Sie fortfahren? [Y/n] Y drücken Sie YES für vollständige Installationen

...... .......

  • Endlich erhalten Sie diese Zeilen....

    Einrichten von libhtml-template-perl (2.95-1) ...

    Einrichten von mysql-common-5.6 (5.6.16-1~exp1) ... Verarbeitung von Triggern für libc-bin (2.19-0ubuntu6) Verarbeiten von Triggern für ureadahead (0.100.0-16) ...

  • Und dann

    Root@ubuntu1404:~# mysql -u Root -p (für jedes Passwort, das zuerst u verwenden)

  • Passwort eingeben:

  • Hinweis: Das eingegebene Passwort sollte mit dem der Installation übereinstimmen. Passwort von mysql (z.B. .Root,system,admin,rahul etc...)

    Dann tippen Sie

  • USE rahul_db(Datenbankname);

Danke.

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