Perfekte Lösung für das Problem, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann

Perfekte Lösung für das Problem, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann

Problem: Das PHP-Programm auf einem Server kann keine Verbindung zur Datenbank über die Localhost-Adresse herstellen, kann aber eine normale Verbindung herstellen, wenn sie auf 127.0.0.1 eingestellt ist, und kann auch normal eine Verbindung zu anderen Datenbankservern herstellen. Die MySQL-Berechtigungen sind korrekt eingestellt und die Datenbank kann normal über den MySQL-Befehlszeilenclient verbunden werden.

Analyse: Dies ist ein typischer Fall, in dem der Socket nicht richtig konfiguriert ist.

Es gibt zwei Möglichkeiten, eine Verbindung zu einer MySQL-Datenbank herzustellen: TCP/IP (die Art, die allgemein als Port verstanden wird) und Unix-Sockets (allgemein Sockets oder Socks 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. Außerdem werden localhost und 127.0.0.1 in den Berechtigungseinstellungen in MySQL separat festgelegt. Bei der Einstellung 127.0.0.1 stellt das System die Verbindung zur Datenbank über TCP/IP her. Bei der Einstellung „localhost“ stellt das System die Verbindung zur Datenbank über einen Socket her.

Lösung: Überprüfen Sie zunächst, wo sich die Socket-Datei des lokalen MySQL befindet. Der zu überprüfende Befehl lautet:

mysqld --verbose --help | grep-Socket

Die Ausgabe zeigt den Speicherort der Socket-Datei. Dieser Server zeigt beispielsweise

Socket /var/run/mysqld/mysqld.sock

Ändern Sie dann die PHP-Konfigurationsdatei php.ini entsprechend.

Finden Sie dieses:

mysql.default_socket =

Normalerweise ist dieses Element leer, ändern Sie es in:

mysql.default_socket = /var/run/mysqld/mysqld.sock

Die im vorigen Schritt abgefragte Datei sollte hierhin geschrieben und entsprechend Ihrer Situation eingestellt werden. An diesem Punkt wurde die PHP-Konfiguration geändert. Wenn es sich um den CLI-Modus (Befehlszeilenmodus) oder den CGI-Modus handelt, wird die Änderung sofort wirksam. Wenn es sich um den FASTCGI-Modus handelt, müssen Sie den Fastcgi-Prozess neu starten.

Der obige Artikel löst perfekt das Problem, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann. Dies ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • So ändern Sie schnell das Hostattribut eines MySQL-Benutzers
  • Beinhaltet der %-Wert im neu erstellten MySQL-Benutzer localhost?
  • So erlauben Sie allen Hosts den Zugriff auf MySQL
  • Lösung für das Problem, dass MySQL eine Verbindung über den lokalen Host herstellen kann, jedoch keine Verbindung über IP herstellen kann
  • Eine kurze Diskussion über die Matching-Regeln von Host und Benutzer, wenn Mysql eine Verbindung zur Datenbank herstellt

<<:  Grafisches Tutorial zur Installation von CentOS 7.3 auf VMWare

>>:  Implementierung einer benutzerdefinierten Vue-Vorlage von vscode

Artikel empfehlen

Detaillierte Erklärung des strikten Modus in JavaScript

Inhaltsverzeichnis Einführung Verwenden des strik...

Einführung in Docker-Container

1. Übersicht 1.1 Grundlegende Konzepte: Docker is...

Beispielcode von layim zum Integrieren des Rechtsklickmenüs in JavaScript

Inhaltsverzeichnis 1. Wirkungsdemonstration 2. Im...

MySQL-Dateneinfügungsoptimierungsmethode concurrent_insert

Wenn ein Thread eine DELAYED-Anweisung für eine T...

So löschen und deinstallieren Sie MySQL in Windows 10 vollständig

Vorwort Dieser Artikel enthält eine Anleitung zum...

So richten Sie Referer in Nginx ein, um Bilddiebstahl zu verhindern

Wenn die Bilder des Servers von anderen Websites ...

Designtheorie: Hierarchie im Design

<br />Originaltext: http://andymao.com/andy/...

HTML 5.1 lernen: 14 neue Features und Anwendungsbeispiele

Vorwort Wie wir alle wissen, gehört HTML5 dem Wor...

Erste Schritte mit Nginx Reverse Proxy

Inhaltsverzeichnis Überblick Die Rolle des Revers...

MySQL-Sharding-Details

1. Einführung in das Geschäftsszenario Angenommen...

Der Prozess der Bereitstellung eines Projekts auf einem anderen Host mit Jenkins

Umfeld Hostname IP-Adresse Aufschlag Jenkins 192....

js, um einen einfachen Front-End-Paging-Effekt zu erzielen

Einige Projekte haben ein relativ einfaches Gesch...