Heim >Datenbank >MySQL-Tutorial >Warum kann ich über den Unix-Socket keine Verbindung zu MySQL herstellen?
Verbindung zu MySQL über Unix-Socket nicht möglich: Verbindung zu MySQL über Socket „MySQL“ nicht möglich (2)
Beim Herstellen einer Verbindung Wenn Sie mit der mysqli-Klasse von PHP eine Verbindung zu MySQL herstellen und „localhost“ als Host angeben, erhalten Sie die Fehlermeldung „Es kann keine Verbindung zum lokalen MySQL-Server über den Socket ‚MySQL‘ (2) hergestellt werden.“ Dies weist auf ein Problem mit dem Unix-Socket hin, der für lokale Verbindungen verwendet wird.
Grundlegendes zu Localhost-Verbindungen
Standardmäßig verwendet die MySQL-Clientbibliothek einen Unix-Domänen-Socket, um eine Verbindung herzustellen lokaler MySQL-Server, wenn der Host als „localhost“ angegeben ist. Wenn jedoch auf den Socket nicht zugegriffen werden kann oder er nicht vorhanden ist, tritt dieser Fehler auf.
Optionen zur Fehlerbehebung
Um dieses Problem zu beheben, haben Sie mehrere Möglichkeiten:
mysqli.default_socket = /var/run/mysqld/mysqld.sock
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
Durch die direkte Angabe des Sockets überschreiben Sie die Standardeinstellung Unix-Socket-Konfiguration.
In Ihrem Fall, da Sie mit Option nur über 127.0.0.1 eine Verbindung herstellen können 1 wird empfohlen. Wenn Sie externe Website-Verbindungen zulassen müssen, sollten Sie einen neuen Benutzer mit entsprechenden Berechtigungen erstellen und TCP/IP (Option 1) für die Remote-Verbindung verwenden.
Das obige ist der detaillierte Inhalt vonWarum kann ich über den Unix-Socket keine Verbindung zu MySQL herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!