it-swarm.com.de

ERROR 2002 (HY000): Es kann keine Verbindung zum lokalen MySQL-Server über den Socket '/var/run/mysqld/mysql.sock' (2) hergestellt werden.

Ich bekomme diesen Fehler 

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

obwohl ich es geschafft habe, mysql über die Befehlszeile in Ubuntu zu starten

mysql stop/waiting
mysql start/running, process 17691

Beim Versuch, auf die Site zuzugreifen, erhalte ich einen Datenbankverbindungsfehler sowie den obigen Fehler, wenn versucht wird, über mysql -u root -p auf mysql zuzugreifen.

Ich habe meine Fehlerprotokolle geprüft und habe das gesehen

    131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
    131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
    131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
    131029 12:53:36 InnoDB: Completed initialization of buffer pool
    131029 12:53:36 InnoDB: highest supported file format is Barracuda.
    131029 12:53:38  InnoDB: Waiting for the background threads to start
    131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    131029 12:53:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
    131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
    131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

Es ist das erste Mal, dass ich diesen Fehler sehe und ich bin mir nicht sicher, wie ich dieses Problem lösen kann. Bitte helfen Sie mir ein bisschen.

Vielen Dank

UPDATE

Okay, ich habe die Lösung von glglgl ausprobiert und nach einem Neustart bekomme ich Folgendes im Fehlerprotokoll:

    131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
    131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
    131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
    131029 13:17:38 InnoDB: Completed initialization of buffer pool
    131029 13:17:38 InnoDB: highest supported file format is Barracuda.
    131029 13:17:40  InnoDB: Waiting for the background threads to start
    131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    131029 13:17:41 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
    131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.  
    131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
    131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
35
user2028856

Mein Problem wurde behoben, als ich überprüfte, ob der Prozess auf Ubuntu 12.04 lief

ps ax | grep mysql

Dann war die Antwort, dass es nicht lief, also tat ich es

Sudo service mysql start

Oder Versuche

Sudo /etc/init.d/mysql start
48

Bitte bestätigen Sie zunächst, dass der Mysql-Server installiert ist. Ich habe den gleichen Fehler, wenn MySQL-Server installiert, aber irgendwie beschädigt ist. Ich mache den Trick, indem ich mysql complete deinstalliere und neu installiere.

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client
37
johnny

Ich hatte das gleiche Problem, als ich xampp auf meinem System installierte. Der MySQL-Server sucht nach /var/run/mysqld/mysqld.sock, aber die mysql.sock-Datei befand sich im xampp-Ordner

 find / -name '*.sock'

um die mysql.sock-Datei zu finden und dann zu verwenden

ln -s <the file location> /var/run/mysqld/mysqld.sock

um einen Link für die * .sock-Datei zu erhalten, probierte mysql und es lief ohne Fehler . Hoffe, das könnte Ihre lösen.

Denken Sie daran, das Verzeichnis zu erstellen, falls es nicht existiert. 

12
krgaurav

Der Client sollte mit der Servereinstellung übereinstimmen.

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
10
feuyeux

Ich habe lange gebraucht, um herauszufinden, aber könnten Sie das Gleiche versuchen? 

1 - Update und Upgrade

Sudo apt-get update
Sudo apt-get upgrade

2 - Löschen Sie MySQL Server und Client (falls installiert).

Sudo apt-get purge mysql-server mysql-client

3 - Installieren Sie MySQL Server und Client neu

Sudo apt-get install mysql-server mysql-client

4 - Testen Sie MySQL

mysql -u root -p
> enter root password

*** Socket sollte nicht in /var/run/mysqld/mysql.sock gefunden werden

4 - Konfigurieren Sie mysqld.cnf mit nano von vi

Sudanano /etc/mysql/mysql.conf.d/mysqld.cnf

Ändern Sie die Bindungsadresse von 127.0.0.1 in localhost

bind-address            = localhost

** Schreiben und beenden

5 - Starten Sie MySQL neu

Sudo /etc/init.d/mysql restart

6 - Mysql überprüfen

mysql -u root -p
> enter root password

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Sie sollten jetzt in mysql cli einsteigen.

Hoffe das hilft

Code.Ph0y

8
Code Ph0y

vor kurzem habe ich mit diesem Fehler in meinem mysql konfrontiert ERROR 2002 (HY000)

Es kann keine Verbindung zum lokalen MySQL-Server über Socket hergestellt werden 

"/var/lib/mysql/mysql.sock" (111)

da ich vergessen habe, mein mariadb zu starten, tippen Sie einfach diesen Befehl auf Ihr Terminal. 

systemctl start mariadb.service
4
Aung Kyaw Nyunt

Möglicherweise fehlt der Mysql-Server. installiere es mit

Sudo apt-get install mysql-server
3
Ranju R

Dies ist ein alter Schritt mit einer anderen vorgeschlagenen Lösung, aber keiner von ihnen hat für mich funktioniert. Ich füge diese Antwort in der Hoffnung hinzu, dass sie jemandem helfen wird, der einige Zeit als ich kämpfte. 

Ich habe alle vorhandenen Antworten und die vorhandene Lösung geprüft, aber für mich war das Problem eine falsche Benutzerberechtigung für den Ordner var/run/mysql.

Ich habe die Benutzerberechtigung für diesen Ordner geprüft und er wurde auf root gesetzt. Sobald ich zu mysql:mysql gewechselt bin, ist das Problem verschwunden.

Geben Sie in /var/run/mysqld ein und ändern Sie die Benutzerberechtigung in:

chown -R mysql:mysql .
3
Simo Endre

Ich habe folgen Wellington Lorindo Posting ..__ und mein Problem wurde gelöst.

Schritte 1. im Terminal laufen 

ps Axt | grep mysql

Ergebnis war

11200? SSL 0:01/usr/sbin/mysqld

11514 pts/0 S + 0:00 grep mysql

Schritte 2. Geben Sie dies erneut ein 

Sudo Service MySQL Start

Und Problem gelöst.

Danke Wellington Lorindo

2
Sachin

Unter Debian Dies war ein Bindungsproblem für mich, daher half es, bind-address von localhost auf 0.0.0.0 zu ändern. 

vim /etc/mysql/my.cnf 

bind-address = 0.0.0.0

2
Achu

das hat für mich funktioniert

Sudo /etc/init.d/mysql start

zuerst habe ich es versucht, aber ich verstehe nicht, warum es so nicht funktioniert

Sudo service mysql start
2
aimme

Der gleiche Fehler ist auch bei meinem System aufgetreten. Ich musste mysql-server entfernen und neu installieren. Nicht anders herum. Versuchen Sie, diese Befehle auszuführen:

  1. Sudo apt-get bereinigen MySQL-Server
  2. Sudo apt-get automatisch entfernen
  3. Sudo apt-get install mysql-server
2
user3898336

Ich habe alles gelöscht, das mit mysql verbunden ist

Sudo apt-get entfernen --purge --auto-remove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7

Sudo rm -r/etc/mysql */var/lib/mysql */var/log/mysql *

und dann wieder mit neu installiert

Sudo apt-get Update

Sudo apt-get install mysql-server

und fing dann mit an

mysql -u root -p

gefolgt vom Passwort

2
schlusie

Ich hatte das gleiche Problem, nachdem ich my.cnf geändert hatte. Ich habe dieses Problem als nächstes gelöst.

Zuerst: Um den Ort von error.log zu finden, schauen Sie sich 'my.conf' an.

Zweitens: Ich habe in error.log nachgeschlagen, ich habe nächste Massagen gefunden,

"unbekannte Variable" default -...... "" ..... "mysqld_safe mysqld darmon mit from/var/lib/mysql starten"

Drittens: Ich setze my.conf auf den Standard zurück und starte neu. Das Problem wurde behoben.

Ich hoffe das hilft.

2
takechanman

Ich habe auch dieses Problem getroffen. mysql -u root -p Geben Sie das Passwort ein: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

Dann finde ich, dass der Grund dafür ist, dass sich meine selinux durchsetzt. Ich deaktiviere es und starte dann mysqld neu. Es funktioniert und hoffe, es ist hilfreich.

1
fay

Ich hatte das problem.

Dieser Prozess hat für mich funktioniert:

Stellen Sie sicher, dass Sie während des Entfernungsvorgangs Nein zum Löschen der Datenbank wählen.

Sudo apt-get remove --purge mysql*

Sudo apt-get autoremove

Sudo apt-get autoclean

Sudo apt-get install mysql-server mysql-client
1
Samuel

Sie müssen den MySQL-Server nicht erneut installieren Ich hatte das gleiche Problem, aber ich habe das Problem durch Ausführen dieser Befehle gelöst.

  1  ps -A|grep mysql
  2  Sudo pkill mysql
  3  ps -A|grep mysqld
  4  Sudo pkill mysqld
  5  Sudo service mysql restart
  6  mysql -u root -p
1

Im Linux-Terminal führe ich die folgenden Schritte aus und sie haben mir geholfen

1.Erste Liste aller installierten mysql-Pakete

Sudo dpkg -l | grep mysql

2.Löschen Sie die aufgelisteten Pakete mit dem aufgeführten Befehl

Sudo apt-get --purge autoremove

3. Installieren Sie den MySQL-Server neu

Sudo apt-get install mysql-server

Das hat für mich funktioniert, hoffe das funktioniert auch für Sie.

Alternativ versuchen Sie es

Sudo apt-get entfernen --purge mysql- *

dann mit neu installieren

Sudo apt-get install mysql-server mysql-client

1
Maurice Elagu

Wenn Sie den max_connections in der my.cnf-Datei ändern, besteht eine weitere Chance, dass Sie diesen Fehler erhalten.

Ich hatte auch den gleichen Fehler, der mich nicht beim MySQL-Server anmeldete. In meinem Fall bestand das Problem darin, dass ich die max_connections-Größe in erhöhen musste 

/etc/mysql/my.cnf

zu

set-variable = max_connections = 5000

Aus diesem Grund, als ich am nächsten Tag den MySQL-Server anstarrte, warf es diesen Fehler

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

Das set-variable = max_connections = 5000-Segment aus der my.conf-Datei zu entfernen, war der Trick. Nach dem Entfernen dieses bestimmten Segments wurde das Kommando command verwendet. Der MySQL-Server wurde wie zuvor gestartet und ausgeführt.

Sudo /etc/init.d/mysql start
1
Dulith De Costa

Dies bietet eine alternative Lösung, wenn das Problem Sie betrifft. Wenn Ihr Festplattenlaufwerk voll ist, kann der MySQL-Server (und die meisten anderen Programme) nicht gestartet werden. Löschen Sie Dateien und Ordner, um den Start von MySQL-Server zu ermöglichen.

0
rbwilkinson

Wenn Sie genau hinsehen, werden Sie den Unterschied sehen:

  • Der Server hört auf /var/run/mysqld/mysqld.sock
  • Der Client versucht, eine Verbindung zu /var/run/mysqld/mysql.sock herzustellen.

Sie müssen das eine oder das andere anpassen.

0
glglgl

Dieses Problem wird durch einige unnötige Änderungen in der my.cnf-Datei verursacht. __ Versuchen Sie, /etc/mysql/my.cnf mit einer der funktionierenden My.cnf-Datei der MySQL-Server zu vergleichen.

Ich habe gerade die /etc/mysql/my.cnf-Datei durch die neue my.cnf-Datei ersetzt, und dies funktioniert für mich.

0
sachin

In meinem Fall bestand das Problem darin, dass ich "default-character-set = utf8" zu my.cnf hinzugefügt hatte und die Datei beschädigt wurde. Ändern Sie stattdessen diese Zeile für "character_set_server = utf8". Das sollte es lösen, hoffe das hilft.

0
alex

stellen Sie sicher, dass die Konfigurationsoption für die Bindungsadresse in der Datei my.cnf in/etc/mit localhost oder der IP-Adresse des virtuellen Servers identisch ist. Überprüfen Sie, ob das Verzeichnis für die Erstellung der Socket-Datei ordnungsgemäß angegeben ist.

0
share chris

Nach der Installation oder Aktualisierung von MySQL werden Sie nicht aufgefordert, das Root-Kennwort zu erstellen. In diesem Fall haben Sie eine Datei mit dem Namen " debian.cnf " Pfad:/etc/mysql . Sie finden den Benutzernamen und das Kennwort, melden sich mit diesen Anmeldeinformationen an und erstellen einen neuen Benutzer und ein neues Kennwort.

0
Syed

Ich habe das gleiche Problem und habe alle hier veröffentlichten Lösungen ausprobiert:

Sudo apt-get autoremove mysql-server

am ubuntu 16.04 funktioniert es leider nicht für mich. Um das richtige Paket zu deinstallieren, müssen Sie:

Sudo apt-get remove mysql-

wenn Sie versucht haben, mit tab den Befehl automatisch zu vervollständigen, wird das folgende Paket aufgelistet:

mysql-client           mysql-client-core-5.7  mysql-server           mysql-server-core-5.7  mysql-workbench        mythes-en-us           
mysql-client-5.7       mysql-common           mysql-server-5.7       mysql-utilities        mysql-workbench-data   

wählen Sie offensichtlich den mysql-server-core-5.7 aus. 

Sudo apt-get remove mysql-server-core-5.7

und jetzt können Sie alle mysql deinstallieren und erneut installieren, indem Sie diesen Befehl aus johnnys answer verwenden: 

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client

Jetzt habe ich es gelöst und der Fehler ist GONE. 

0
Gujarat Santana

Zwei Hauptgründe:

1) mysql-server ist nicht installiert! Sie müssen es installieren (mysql-server und nicht mysql-client) und ausführen.

2) Sie ist standardmäßig installiert und wird ausgeführt. Daher ist es nicht möglich, es erneut mit Xampp oder Lampp auszuführen. Sie müssen es stoppen: Sudo-Dienst mysql stop

dann können Sie es über Xampp starten. Sie können mit diesem Code überprüfen, ob es läuft oder nicht: Sudo netstat -tap | grep mysql

Wenn Sie ein Ergebnis wie dieses sehen: Tcp 0 0 localhost: mysql: LISTEN 1043/mysqld

Es bedeutet, dass es richtig läuft. 

0
Aboozar Rajabi

Beachten Sie, dass ich nach dem Upgrade meiner Ubuntu 14.04-Distribution mit apt-get upgrade auf diese Probleme gestoßen bin. Ich musste mysql-server und mysql-client vollständig bereinigen und neu installieren, um dieses Problem zu beheben.

Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get purge mysql-server mysql-client
Sudo apt-get install mysql-server mysql-client

Hoffe das hilft.

0
Mr. Doomsbuster

Ich war auch bei diesem Fehler fest und es dauerte fast 3 Stunden, um ihn zu finden. 

Versuchen Sie zunächst, die Änderungen, die Sie an Ihrer conf-Datei vorgenommen haben, abzurufen, die Änderungen rückgängig zu machen, die Datei zu speichern und mysql zu starten. Wenn Sie Änderungen an der conf-Datei vornehmen möchten, halten Sie den mysql-Server an, ändern Sie die gewünschten Werte und starten Sie mysql neu. 

Dieser Fehler tritt aufgrund einer falschen Änderung (falsches Schlüsselwort oder falsch zugewiesener Wert) der Conf-Datei auf. In den meisten Fällen tritt dieser Fehler auf, auch wenn Sie den Computer neu starten, auf dem der Server ausgeführt wird. Wenn der Server gestoppt ist, starten Sie in diesem Fall den mysql-Server. 

0
user7161651

Einfach: Diese Codes ausführen :::

 1:: ls -lart/var/run/my*

   2::mkdir /var/run/mysqld

    3::touch /var/run/mysqld/mysqld.sock
    4:ls -lart /var/run/mysqld
    5::chown -R mysql /var/run/mysqld
    6::ls -lart /var/run/mysqld
REstart your mysql server

geben Sie dann mysql -u root oder mysql -u root -p ein und drücken Sie die Eingabetaste. Vielen Dank

0
Chikelu Gerald

Versuche dies:

Sudo dpkg-reconfigure mysql-server-{version_number}

version_number sollte die Versionsnummer von mysql sein. Zum Beispiel

Sudo dpkg-reconfigure mysql-server-5.6

Dann greifen Sie auf mysql wie folgt zu:

mysql -u root -p
0
Kon Li