Heim  >  Artikel  >  Datenbank  >  localhost vs. 127.0.0.1 in MySQL: Warum der Unterschied und wie werden alle Berechtigungen gewährt?

localhost vs. 127.0.0.1 in MySQL: Warum der Unterschied und wie werden alle Berechtigungen gewährt?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 00:28:13440Durchsuche

localhost vs. 127.0.0.1 in MySQL: Why the Difference and How to Grant All Privileges?

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:

  • Überprüfen Sie die Variable „skip_networking“, um sicherzustellen, dass sie auf OFF gesetzt ist:
    SET GLOBAL skip_networking=OFF;
  • Bestätigen Sie, dass der Root-Benutzer dies getan hat die entsprechenden Hostnamen, die in der mysql.user-Tabelle aufgeführt sind:
    SELECT user, host FROM mysql.user WHERE user='root';

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!

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