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;
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:
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!