Den Unterschied verstehen: localhost vs. 127.0.0.1 in MySQL
Beim Versuch, über die Befehlszeilenschnittstelle eine Verbindung zu einer MySQL-Datenbank herzustellen stoßen Benutzer häufig auf eine Diskrepanz zwischen der Verwendung von localhost und 127.0.0.1 als Hostnamen. Dieser Artikel befasst sich mit der zugrunde liegenden Ursache dieses Unterschieds und bietet eine Lösung für die Gewährung aller Datenbankberechtigungen von allen Hosts.
Socket-Verbindungen und Hostnamen
In UNIX-Systemen MySQL verwendet Sockets für Verbindungen, die ohne Hostnamen oder mit dem Hostnamen localhost hergestellt werden. Dies bedeutet, dass es einen Unterschied zwischen diesen beiden Verbindungsformen gibt.
Auswirkungen auf das GRANT-System
Das GRANT-System in MySQL unterscheidet zwischen diesen verschiedenen Verbindungstypen, was zu die beobachtete Diskrepanz.
Gewährung ALLER Privilegien von ALLEN Hosts
Um dem Root-Benutzer von allen Hosts aus alle Datenbankrechte zu gewähren, führen Sie den folgenden Befehl aus:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Dieser Befehl stellt sicher, dass der Root-Benutzer von jedem aus auf alle Datenbanken zugreifen kann Host.
Fehlerbehebung
Wenn die gewährten Berechtigungen nicht wie erwartet funktionieren, Es ist wichtig, Folgendes zu überprüfen:
Das obige ist der detaillierte Inhalt vonlocalhost vs. 127.0.0.1 in MySQL: Warum der Unterschied und wie werden alle Berechtigungen gewährt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!