620 Stimmen

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

Ich installierte LAMP en Ubuntu 12.04 LTS (Precise Pangolin) und setzen Sie dann das Root-Passwort auf phpMyAdmin . Ich habe das Passwort vergessen und kann mich nun nicht mehr anmelden. Wenn ich versuche, das Passwort über das Terminal zu ändern, erhalte ich:

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

Wie kann ich das beheben? Ich kann LAMP nicht öffnen, deinstallieren oder neu installieren.

371voto

towry Punkte 3833

Ich hatte dieses Problem einmal und löste es durch die Installation von mysql-server Stellen Sie also sicher, dass Sie die mysql-server , nicht die mysql-client oder etwas anderes.

Dieser Fehler bedeutet, dass die Datei /var/run/mysqld/mysqld.sock nicht existiert, wenn Sie nicht installiert haben mysql-server , dann würde die Datei nicht existieren. Installieren Sie sie in diesem Fall also mit

sudo apt-get install mysql-server

Aber wenn die mysql-server bereits installiert ist und läuft, dann müssen Sie die Konfigurationsdateien überprüfen.

Die Konfigurationsdateien sind:

/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf

En /etc/my.cnf kann die Socket-Datei config sein /tmp/mysql.sock und in /etc/mysql/my.cnf die Socket-Datei config kann sein /var/run/mysqld/mysqld.sock . Also, entfernen oder umbenennen /etc/mysql/my.cnf verwenden, lassen Sie mysql /etc/my.cnf dann kann das Problem gelöst werden.

319voto

Yannick Punkte 3326

Versuchen Sie dies:

mysql -h 127.0.0.1 -P 3306 -u root -p <database>

Außerdem (um zu sehen, ob es läuft):

telnet 127.0.0.1 3306 

Wahrscheinlich handelt es sich nur um eine Fehlkonfiguration in der my.cnf Datei, in /etc/somewhere (abhängig von der Linux-Distribution ).

193voto

davejal Punkte 5687

Ich sehe all diese Antworten, aber keine die Möglichkeit bieten das Passwort zurücksetzen y keine akzeptierte Antwort . Die eigentliche Frage, die er vergessen sein Passwort, also muss er es zurücksetzen und nicht sehen, ob es läuft oder nicht (installiert oder nicht), wie die meisten dieser Antworten vermuten lassen.


So setzen Sie das Passwort zurück

Folgen Sie diesen Schritten (kann hilfreich sein, wenn Sie Ihr Passwort wirklich vergessen haben, und Sie können es jederzeit versuchen, auch wenn Sie gerade nicht in der Situation sind):

  1. Stopp mysql

    sudo /etc/init.d/mysql stop

    Oder für andere Vertriebsversionen:

    sudo /etc/init.d/mysqld stop
  2. Starten Sie MySQL im abgesicherten Modus

    sudo mysqld_safe --skip-grant-tables &
  3. Mit Root bei MySQL anmelden

    mysql -u root
  4. Wählen Sie die zu verwendende MySQL-Datenbank

    use mysql;
  5. Das Passwort zurücksetzen

    -- MySQL version < 5.7
    update user set password=PASSWORD("mynewpassword") where User='root';
    
    -- MySQL 5.7, mysql.user table "password" field -> "authentication_string"
    
    update user set authentication_string=password('mynewpassword') where user='root';
  6. Spülen Sie die Privilegien

    flush privileges;
  7. Starten Sie den Server neu

    quit
  8. Anhalten und erneutes Starten des Servers

    Ubuntu und Debian:

    sudo /etc/init.d/mysql stop
    ...
    sudo /etc/init.d/mysql start

Unter CentOS, Fedora und RHEL:

    sudo /etc/init.d/mysqld stop
    ...
    sudo /etc/init.d/mysqld start
  1. Anmeldung mit neuem Passwort

    mysql -u root -p
  2. Geben Sie das neue Passwort ein und genießen Sie Ihren Server wieder, als wäre nichts passiert.

Dies wurde entnommen aus _Zurücksetzen eines MySQL Root-Passworts_ .

77voto

Martin Schultz Punkte 2401

In meinem Fall war es so, dass die Festplatte voll war und mysqld nicht mehr gestartet werden konnte.

Versuchen Sie, den mysql-Dienst neu zu starten.

> service mysql restart

ou

> service mysql stop

> service mysql start

Wenn es nicht erkennt stop Befehl, dann ist es definitiv der Speicherplatz. Sie sollten etwas Platz auf der Partition schaffen mysql zugewiesen oder die Platte vergrößert wird.

Prüfen Sie den Speicherplatz mit

> df -h

74voto

rshahriar Punkte 2352

Ich habe die folgenden Schritte versucht:

  1. Anmelden als super user oder verwenden sudo
  2. Öffnen Sie /etc/mysql/my.cnf mit gedit
  3. finden. bind-address und ändern Sie den Wert in die IP-Adresse des Host-Rechners des Datenbankservers. Bei mir war es localhost ou 127.0.0.1
  4. Speichern und schließen Sie die Datei.
  5. Kehren Sie zum Terminal zurück und führen Sie sudo service mysql start

Und es hat bei mir funktioniert.

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