Heim  >  Artikel  >  Datenbank  >  Warum behandelt MySQL „localhost' anders als „127.0.0.1'?

Warum behandelt MySQL „localhost' anders als „127.0.0.1'?

DDD
DDDOriginal
2024-11-25 02:47:10711Durchsuche

Why Does MySQL Treat `localhost` Differently Than `127.0.0.1`?

MySQL localhost != 127.0.0.1?

Diese Diskrepanz entsteht durch die Socket-Nutzung von MySQL, wenn es ohne Hostnamen oder mit „localhost“ aufgerufen wird ' Hostname. Wie unten gezeigt, stellt die Verwendung von MySQL mit dem Hostnamen „127.0.0.1“ eine Verbindung über TCP/IP-Sockets her:

$ mysql -u root -h 127.0.0.1 -e 'show tables' created_from_host;
+-----------------------------+
| Tables_in_created_from_host |
+-----------------------------+
| test                        |
+-----------------------------+

Die Verwendung von „localhost“ stellt jedoch eine Verbindung über UNIX-Sockets her, was zu folgendem Fehler führt:

$ mysql -u root -h localhost -e 'show tables' created_from_host;
ERROR 1049 (42000): Unknown database 'created_from_host'

So gewähren Sie ALLE Berechtigungen für ALLE Datenbanken von ALLEN Hosts für root?

Um dem „Root“-Benutzer uneingeschränkte Berechtigungen zu gewähren, führen Sie die folgende SQL-Anweisung aus:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Zusätzliche Überlegungen:

  • Skip_Networking-Variable: Stellen Sie sicher, dass diese Variable zum Aktivieren auf „AUS“ gesetzt ist TCP/IP-Verbindungen.
  • Tabelle „Benutzer“: Überprüfen Sie die Tabelle „mysql.user“, um sicherzustellen, dass der Benutzer „Root“ über Hostdatensätze für „localhost“ und „127.0“ verfügt. 0,1'.

Das obige ist der detaillierte Inhalt vonWarum behandelt MySQL „localhost' anders als „127.0.0.1'?. 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