Ich habe den MySQL-Server installiert und versucht, eine Verbindung herzustellen, erhalte jedoch den folgenden Fehler:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Ich habe mein Verzeichnis / tmp überprüft und es gibt keine mysql.sock. Ich kann mysql.sock nirgendwo finden. Ich habe gelesen, dass es in sein könnte
/var/lib/mysql/mysql.sock
Aber ich habe auch dort nachgesehen und es gibt sogar kein MySQL-Verzeichnis, nur ein Postfix-Ding in / lib. Könnte mir jemand bei diesem Problem helfen?
Antworten:
Versuchen Sie, den MySQL-Server zu starten:
mysql.server start
quelle
mysql.server start
Ich habe die gleiche Frage nach dem Update von OS X Yosemite, nun, die Lösung ist recht einfach. Überprüfen Sie die Systemeinstellungen -> MySQL, der Status war STOP. Starten Sie es einfach neu und es funktioniert jetzt gut auf meinem Mac.
quelle
Für MAMP
Von https://coderwall.com/p/w5kwzw/solved-can-t-connect-to-local-mysql-server-through-socket-tmp-mysql-sock
UPDATE: Bei jedem Neustart meines Computers muss ich diesen Befehl eingeben, daher habe ich eine Verknüpfung erstellt.
Gehen Sie im Terminaltyp wie folgt vor:
Hinzufügen
Sparen.
Im Terminaltyp:
~: ...
um die .profile Konfiguration zu beschaffen.Jetzt können Sie im Terminal einfach tippen
quelle
Der folgende Befehl hat mein Problem behoben:
quelle
brew install mysql
aber keiner der Befehle, die Homebrew mir sagte, dass ich laufen soll, funktionierte ordnungsgemäß. Dies ließ jedes Problem verschwinden ... Danke !! Was genau ist die erste Zeile, die Sie geschrieben haben? Was heißt das?sudo brew services start mariadb
Problem behoben und funktioniert jetzt auch, um Mariadb beim Booten zu starten (nicht nur beim Anmelden). YAY! Danke dir!Nachdem ich alle Lösungen ausprobiert hatte, funktionierte es nur für mich, nachdem ich den Host angegeben hatte
wenn Sie nach einem Passwort fragen
Drücken Sie Enter
und es wird funktionieren, wenn alles wie oben in Ordnung ist.
quelle
-h 127.0.0.1
, wird immer gefragtCan't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
; Nach dem Hinzufügen des Arguments funktioniert es gut.mysql -u root -h127.0.0.1
ohne-p
Flag hat bei mir funktioniert, da ich bei der Installation von MySQL denmysql_secure_installation
Befehl nie ausgeführt habe. Nach meinem Verständnis wird in diesem Fall standardmäßig kein Kennwort benötigt.Nach stundenlangem Kampf funktionierte nur noch
Führen Sie dann eine sichere Installation mit durch
Dann verbinden Sie sich mit der Datenbank über
MySQL wird über Homebrew installiert und die Version ist
Die Angabe der Version kann hilfreich sein, da die Lösung je nach Version unterschiedlich sein kann.
quelle
Nehmen Sie in Ihrer MySQL-Konfigurationsdatei, die in enthalten ist
/etc/my.cnf
, die folgenden Änderungen vor und starten Sie denmysqld
Dameon-Prozess neuÜberprüfen Sie auch diesen verwandten Thread
Über den Socket '/tmp/mysql.sock kann keine Verbindung zum lokalen MySQL-Server hergestellt werden
quelle
/etc/mysql/my.cnf
/tmp/mysql.sock
Folgendes hat mein Problem behoben:
Überprüfen Sie, wo sich Ihr MySQL-Server befindet: netstat -nlp Wenn er TCP auflistet, verwenden Sie 127.0.0.1, während Sie eine Verbindung zur Datenbank herstellen, anstatt "localhost".
Überprüfen Sie MySQL doc hier
quelle
Versuchen Sie das, es hat bei mir funktioniert.
sudo /usr/local/mysql/support-files/mysql.server start
quelle
Wenn Sie XAMPP unter Mac OS X verwenden und MySQL mit Homebrew installiert haben, liegt möglicherweise dieses Problem vor. Gehen Sie im XAMPP-Manager-Fenster zu Server verwalten und wählen Sie MySQL aus. Klicken Sie dann auf Konfigurieren und öffnen Sie die Konfigurationsdatei. Dort haben Sie den Socket-Dateipfad, geben den Pfad in Ihre MySQL-Host-Konfiguration ein und es sollte funktionieren.
Es ist ungefähr so:
dann zum Beispiel in Django:
Hoffe das hilft.
quelle
Zunächst war es der Schlüssel zu wissen, wo sich das Datenverzeichnis für mich befand.
/usr/local/var/mysql
Hier gab es mindestens eine Datei mit der Erweiterung .err, der mein lokaler Computername vorangestellt war. Es hatte alle Informationen, die ich zur Diagnose brauchte.Ich glaube, ich habe es vermasselt, indem ich zuerst MySQL 8 installiert habe. Meine App ist nicht damit kompatibel, daher musste ich ein Downgrade auf 5.7 durchführen
Meine Lösung, die für mich funktioniert hat, war /usr/local/etc/my.cnf
Finden Sie diese Zeile, wenn sie dort ist. Ich denke, es ist MySQL 8 verwandt:
Entfernen Sie es, weil es in MySQL 5.7 sagt, dass es im Fehlerprotokoll nicht gefällt
Fügen Sie diese Zeile auch dort hinzu, wenn sie nicht unter der Bindeadresse vorhanden ist.
Gehen Sie in das
/tmp
Verzeichnis und löschen Sie dort alle mysql.sock-Dateien. Beim Serverstart werden die Sockendateien neu erstelltLöschen Sie das Datenverzeichnis mit mySQL im gestoppten Zustand. Meins war
/usr/local/var/mysql
. Dies ist derselbe Ort, an dem sich die Protokolle befindenVon dort rannte ich
Dann fing alles an zu funktionieren ... dieser Befehl gibt Ihnen am Ende ein zufälliges Passwort. Speichern Sie dieses Passwort für den nächsten Schritt
Führen Sie dies aus, um mein eigenes Passwort zuzuweisen.
Beide
und
arbeiten jetzt. Hoffe das hilft. Es sind ungefähr 3 Stunden Versuch und Irrtum.
quelle
Geben Sie zuerst Folgendes ein:
Dann das -:
quelle
Ich habe viel Zeit damit verbracht, meine Django-App auf meinen Server zu stellen, und als ich sie ausführte,
python manage.py migrate
traf ich diese FragenUnd!! Ich habe das eingestellt.
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Es hat endlich funktioniert!quelle
Geben Sie das Terminal wie folgt ein:
quelle
Das Stoppen und Starten des MySQL-Servers vom Terminal aus hat mein Problem behoben. Unten finden Sie die Cmds zum Stoppen und Starten des MySQL-Servers in MacOs.
Hinweis: Durch das Neustarten der Dienste über die Mac-Systemeinstellungen wurde das Problem auf meinem Mac nicht behoben. Versuchen Sie also, vom Terminal aus neu zu starten.
quelle
Wenn Sie unter einem MacOS arbeiten, ist es einfacher, zuerst in den Systemeinstellungen zu überprüfen, ob MySQL ausgeführt wird oder nicht.
quelle
Für CentOS befindet sich die Datei zum Initiieren von MySQL hier:
quelle