Zugriff für Benutzer „root“@„localhost“ verweigert – Keine Berechtigungen: Wiederherstellung des Root-Zugriffs
Dieses Problem entsteht aufgrund eines Mangels an Berechtigungen für den Root-Benutzer in MySQL. Die Root-Schema-Berechtigungen sind wichtig, um Verwaltungsaufgaben auszuführen und anderen Benutzern Berechtigungen zu gewähren.
Ursachen:
- Berechtigungen wurden widerrufen oder versehentlich geändert.
- Die Authentifizierungsmethode für Root-Benutzer wurde in MySQL 5.7 auf Socket-Verbindung geändert oben.
Lösung:
Für MySQL 5.6 und niedriger:
- Starten Sie MySQL mit -u Root-Flag, um Root-Zugriff ohne Passwort zu erhalten.
- Führen Sie GRANT ALL PRIVILEGES ON *.* TO aus 'root'@'localhost', um dem Root-Benutzer alle Berechtigungen zu gewähren.
- Flush-Berechtigungen mit FLUSH PRIVILEGES.
Für MySQL 5.7 und höher:
- Überprüfen Sie, ob das Authentifizierungs-Plugin für Root-Benutzer auf auth_socket eingestellt ist. Wenn ja, aktualisieren Sie es auf mysql_native_password, indem Sie ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password' verwenden.
- Flush-Berechtigungen.
Für MariaDB:
- Verwenden Sie SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager').
- Flush-Berechtigungen.
Weitere Tipps:
- Wenn der Fehler auftritt weiterhin besteht, prüfen Sie, ob andere Sicherheitseinschränkungen oder Konfigurationsprobleme vorliegen.
- Verwenden Sie den Befehl SHOW GRANTS, um die dem Root-Benutzer gewährten Berechtigungen zu überprüfen.
- Zurücksetzen des Root-Passworts mit der mariadb-secure-installation Skript kann das Problem beheben.
Das obige ist der detaillierte Inhalt vonWie kann ich den Root-Zugriff in MySQL wiederherstellen, wenn der Zugriff verweigert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!