Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „Keine solche Datei oder kein solches Verzeichnis' beim Herstellen einer Verbindung zu MySQL über das Terminal?
Herstellen einer Verbindung zur MySQL-Datenbank über das Terminal: Behebung des Fehlers „Keine solche Datei oder kein solches Verzeichnis“
Die „Warnung: mysql_connect(): [ 2002] „Keine solche Datei oder kein solches Verzeichnis (versucht, eine Verbindung über unix:///tmp/mysql.sock herzustellen) in“ tritt auf, wenn ein PHP-Skript versucht, eine Verbindung herzustellen eine Verbindung zu einer MySQL-Datenbank über das Terminal hergestellt, die Socket-Datei jedoch nicht gefunden werden kann.
Um dieses Problem zu beheben, liegt das Problem im Speicherort der Socket-Datei. Unter macOS weist MySQL möglicherweise eine falsche Konfiguration für den Socket-Dateipfad auf. So beheben Sie das Problem:
Schritt 1: Bestimmen Sie den Speicherort der Socket-Datei
Verwenden Sie den folgenden Befehl, um die Speicherorte der Socket-Dateien zu überprüfen:
ls -l /tmp/mysql.sock /var/mysql/mysql.sock
Schritt 2: Erstellen Sie einen symbolischen Link
Abhängig vom Standort des vorhandenen Erstellen Sie in der Socket-Datei einen symbolischen Link mit einem der folgenden Befehle:
Wenn Sie /tmp/mysql.sock, aber kein /var/mysql/mysql.sock haben
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
Wenn Sie /var/mysql/mysql.sock haben, aber nein /tmp/mysql.sock
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Schritt 3: Skript ausführen
Nachdem Sie den symbolischen Link erstellt haben, führen Sie Ihr PHP-Skript mit dem folgenden Befehl aus:
php scriptname.php
Die Verbindung zur MySQL-Datenbank sollte nun erfolgreich sein. Beachten Sie, dass Sie möglicherweise die Dateipfade in Ihrem PHP-Skript anpassen müssen, um auf den richtigen Speicherort der Socket-Datei zu verweisen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Keine solche Datei oder kein solches Verzeichnis' beim Herstellen einer Verbindung zu MySQL über das Terminal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!