Der folgende Editor bringt Ihnen einen Artikel, der das Problem perfekt löst, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.
Problem:Das PHP-Programm eines Servers kann über die Localhost-Adresse keine Verbindung zur Datenbank herstellen, sofern diese jedoch festgelegt ist bis 127.0.0.1 kann die Verbindung normal sein, und die Verbindung zu anderen Datenbankservern ist ebenfalls normal. Die Berechtigungen von MySQL sind korrekt eingestellt und die Datenbank kann normal über den MySQL-Befehlszeilenclient verbunden werden.
Analyse: Dies ist eine typische Situation, in der die Steckdose nicht richtig eingestellt ist.
Es gibt zwei Möglichkeiten, eine Verbindung zur MySQL-Datenbank herzustellen: TCP/IP (der allgemein verstandene Porttyp) und Unix-Socket (im Allgemeinen Socket oder Sock genannt). In den meisten Fällen kann localhost verwendet werden, um den lokalen Computer 127.0.0.1 darzustellen. Bei der Verbindung mit MySQL können die beiden jedoch nicht gemischt werden, und localhost und 127.0.0.1 werden auch in den Berechtigungseinstellungen in MySQL separat festgelegt. Bei der Einstellung 127.0.0.1 stellt das System eine Verbindung zur Datenbank über TCP/IP her; bei der Einstellung localhost stellt das System eine Verbindung zur Datenbank über einen Socket her.
Lösung: Überprüfen Sie zunächst, wo sich die lokale MySQL-Socket-Datei befindet. Der zu überprüfende Befehl lautet:
mysqld --verbose --help | grep socket
Ergebnisse ausgeben. Den Speicherort anzeigen der Socket-Datei, zum Beispiel: Dieser Server zeigt
socket /var/run/mysqld/mysqld.sock
an und ändert dann die -Konfigurationsdatei php.ini des PHP entsprechend.
Dieses Element finden:
mysql.default_socket =
Im Allgemeinen ist dieses Element leer. Ändern Sie es in:
mysql.default_socket = /var/run/mysqld/mysqld.sock
Der vorherige Schritt sollte hier geschrieben werden Fragen Sie die Dateien ab und stellen Sie sie entsprechend Ihrer Situation ein. Zu diesem Zeitpunkt wurde die PHP-Konfiguration geändert. Wenn es sich um den CLI-Modus (Befehlszeilenmodus) oder den CGI-Modus handelt, wird sie sofort wirksam. Wenn es sich um den FASTCGI-Modus handelt, müssen Sie den Fastcgi-Prozess neu starten.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Problems, dass MySQL über localhost keine Verbindung zur Datenbank herstellen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!