Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung des Problems, dass MySQL über localhost keine Verbindung zur Datenbank herstellen kann

Detaillierte Erläuterung des Problems, dass MySQL über localhost keine Verbindung zur Datenbank herstellen kann

黄舟
黄舟Original
2017-03-27 14:03:332235Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn