Heim > Datenbank > MySQL-Tutorial > MySQL localhost vs. 127.0.0.1: Was ist der Unterschied bei Datenbankverbindungen?

MySQL localhost vs. 127.0.0.1: Was ist der Unterschied bei Datenbankverbindungen?

Barbara Streisand
Freigeben: 2024-11-25 18:47:10
Original
226 Leute haben es durchsucht

MySQL localhost vs. 127.0.0.1: What's the Difference in Database Connections?

Mysql localhost != 127.0.0.1

Diese Frage untersucht den Unterschied zwischen der Verwendung des Hostnamens „localhost“ und der IP-Adresse „127.0 .0.1" beim Herstellen einer Verbindung zu MySQL Datenbank.

Erklärung

In MySQL ist der Hostname „localhost“ einem Socket zugeordnet, während sich die IP-Adresse „127.0.0.1“ auf eine bestimmte Netzwerkschnittstelle bezieht. Dieser Unterschied wird bei der Erteilung von Berechtigungen deutlich.

Wenn Sie beispielsweise Berechtigungen mit „localhost“ gewähren, werden Berechtigungen für Verbindungen gewährt, die über den Socket hergestellt werden, nicht jedoch über die Netzwerkschnittstelle. Umgekehrt gewährt die Gewährung von Berechtigungen mit „127.0.0.1“ Berechtigungen für Verbindungen, die über die Netzwerkschnittstelle, aber nicht über den Socket hergestellt werden.

Gewähren ALLER Berechtigungen für alle Datenbanken von allen Hosts

Um dem Root-Benutzer alle Berechtigungen für alle Datenbanken von allen Hosts zu gewähren, verwenden Sie Folgendes Befehl:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Nach dem Login kopieren

Dadurch wird Root-Benutzerzugriff auf alle Datenbanken von jedem Host aus gewährt.

Fehlerbehebung

Wenn der Fehler „Unbekannt Datenbank 'created_from_host'" Wenn Sie versuchen, eine Verbindung zur Datenbank über "localhost" herzustellen, stellen Sie sicher, dass die folgenden Einstellungen vorhanden sind richtig:

  • Stellen Sie sicher, dass die Variable „skip_networking“ auf OFF gesetzt ist.
  • Bestätigen Sie, dass der Root-Benutzer über die erforderlichen Berechtigungen verfügt, indem Sie den Befehl SHOW GRANTS FOR root verwenden.
  • Stellen Sie sicher, dass der Root-Benutzer in der Tabelle mysql.user mit den entsprechenden Hosts aufgeführt ist: SELECT user,host FROM mysql.user WHERE user='root';.

Das obige ist der detaillierte Inhalt vonMySQL localhost vs. 127.0.0.1: Was ist der Unterschied bei Datenbankverbindungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage