Mysql localhost != 127.0.0.1?
Den Unterschied verstehen
Beim Herstellen einer Verbindung mit eine MySQL-Datenbank ohne Angabe eines Hostnamens oder Verwendung von „localhost“, Unix mysqld nutzt Steckdosen. Die Verwendung der IP-Adresse „127.0.0.1“ als Host löst jedoch Netzwerkverbindungen aus.
Auswirkungen auf Berechtigungen
Dieser Unterschied wird im GRANT-System deutlich. Standardmäßig gelten Berechtigungen für „root“@„localhost“ nur für Verbindungen, die Sockets verwenden. Um diese Privilegien auf Verbindungen mit „127.0.0.1“ zu erweitern, müssen Sie sie explizit „root“@‘127.0.0.1‘ gewähren.
Gewähren ALLER Privilegien von ALLEN Hosts
Um dem „Root“-Benutzer von jedem Host für alle Datenbanken volle Berechtigungen zu erteilen, verwenden Sie Folgendes Befehl:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Berechtigungen überprüfen
Aktualisierte Berechtigungen bestätigen:
mysql -u root -h 127.0.0.1 -pzenoss -e "SHOW GRANTS;"
Das Ergebnis sollte nun Berechtigungen für „root“@ anzeigen '127.0.0.1' zusammen mit 'root'@'localhost'.
Das obige ist der detaillierte Inhalt vonMySQL „localhost' vs. „127.0.0.1': Warum ist es für Benutzerrechte wichtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!