Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt meine MySQL-Verbindung mit der Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis' im Terminal fehl?
Verbindung über Unix-Socket herstellen: Fehler „No Such File or Directory“ wird behoben
Es tritt der Fehler „Warning: mysql_connect(): [2002 ] Keine solche Datei oder kein solches Verzeichnis (versucht, eine Verbindung über unix:///tmp/mysql.sock herzustellen) in" beim Versuch, eine Verbindung herzustellen Der Zugriff auf eine MySQL-Datenbank vom Terminal aus kann verwirrend sein. Während das Skript möglicherweise ordnungsgemäß funktioniert, wenn es über einen Browser ausgeführt wird, treten beim Terminal Probleme auf.
Verstehen des Problems
Unter macOS können MySQL-Konfigurationen manchmal den Speicherort des Skripts falsch identifizieren Socket-Datei. Der Socket kann entweder in /tmp/mysql.sock oder /var/mysql/mysql.sock vorhanden sein, aber Anwendungen suchen möglicherweise am falschen Speicherort danach.
Beheben des Fehlers
Zum Glück ist die Lösung unkompliziert und erfordert die Einrichtung eines symbolischen Links. Wenn /tmp/mysql.sock vorhanden ist, aber /var/mysql/mysql.sock nicht vorhanden ist, führen Sie die folgenden Befehle aus:
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
Umgekehrt, wenn /var/mysql/mysql.sock vorhanden ist, aber /tmp /mysql.sock nicht, verwenden Sie diese Befehle:
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Durch Erstellen einer symbolischen Link kann der Mac den benötigten Socket finden, unabhängig davon, an welchem Ort er sucht.
Das obige ist der detaillierte Inhalt vonWarum schlägt meine MySQL-Verbindung mit der Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis' im Terminal fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!