GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann keine Verbindung zu MySQL mit „localhost“ herstellen, aber mit „127.0.0.1“ ist es in Ordnung?

Lösung 1:

Eine Sache, die Sie überprüfen könnten, ist (was erfordert, dass Sie sich bei der MySQL-Konsole anmelden) - überprüfen Sie, ob Sie die Berechtigung haben, sich bei root anzumelden über localhost .

mysql -h 127.0.0.1 -u root -p

-- Sobald Sie sich erfolgreich angemeldet haben --

mysql> select user,host from mysql.user;
+------+--------------------------------+
| user | host                           |
+------+--------------------------------+
| root | 127.0.0.1                      | 
| root | ::1                            |
| root | localhost                      | <-- Make sure you have a localhost entry for root
+------+--------------------------------+
3 rows in set (0.00 sec)

Wirf es einfach raus, nur für den Fall, dass es das Problem ist.

Lösung 2:

Die meisten MySQL-Clients sind insofern seltsam, als Sie den Host als localhost angeben , sie aliasieren das zu einer Socket-Verbindung anstelle einer TCP-Verbindung. Sie haben die Wahl, entweder bei 127.0.0.1 zu bleiben oder, wenn der Client dies unterstützt (wie es die mysql-CLI-Binärdatei mit dem --protocol tut Flag), zwingen Sie es, TCP anstelle eines Unix-Sockets zu verwenden.


Linux
  1. Fehler bei der Verwendung von GRANT mit IDENTIFIED by password in MySQL

  2. Kann ein Skript ausführbar, aber nicht lesbar sein?

  3. Verbindung zum MySQL-Server nicht möglich Fehler 111

  4. ERROR 1045 (28000):Zugriff verweigert für Benutzer 'root'@'localhost' (mit Passwort:YES)

  5. Postgres lässt localhost nicht zu, funktioniert aber mit 127.0.0.1

Was ist 127.0.0.1 Localhost?

Wie man mit PHP eine Verbindung zu MySQL herstellt

So zeigen Sie Benutzer in MySQL mit Linux an

Was ist Localhost?

Wie man mit PHP eine Verbindung zu MySQL herstellt

3 Methoden zum Herstellen einer Verbindung zu MySQL von PHP mithilfe von Beispielcode