Zugriff für Benutzer „root“ ohne Berechtigungen verweigert: Untersuchung der Grundursache
Dieser häufig auftretende Fehler „Zugriff für Benutzer verweigert“. „‚root‘@‘localhost‘ (mit Passwort: JA) – Keine Privilegien?“ ist nicht auf die leichte Schulter zu nehmen. Es blockiert effektiv den Zugriff von Administratoren auf wichtige Datenbankvorgänge. Das zugrunde liegende Problem ist oft darauf zurückzuführen, dass dem Root-Benutzer die Schema-Berechtigungen entzogen werden, wodurch er machtlos wird.
Eine wichtige Sache: MySQL 5.7 und Socket-Verbindungen
Für MySQL-Versionen 5.7 und Oben ist zu beachten, dass Socket-Verbindungen standardmäßig aktiviert sind. Das bedeutet, dass für den Verbindungsaufbau die Verwendung von „sudo mysql“ ausreicht. Allerdings führt die Ausführung von „SHOW GRANTS FOR root;“ kann ergeben, dass es keine definierten Berechtigungen für den „Root“-Benutzer gibt.
Root-Berechtigungen zurückfordern
Um den Root-Zugriff wiederherzustellen, können die folgenden Schritte unternommen werden:
Zusätzliche Überlegungen
Im Fall von MariaDB ist der Befehl „SET PASSWORD FOR ' root'@'localhost' = PASSWORD('manager');" sollte zum Festlegen des Passworts verwendet werden.
Bei diesem Lösungsprozess wird davon ausgegangen, dass der Befehl „sudo mysql_secure_installation“ erfolgreich ausgeführt wurde, bevor der Fehler „Zugriff verweigert“ auftritt. Wenn dieser Befehl noch nicht ausgeführt wurde, wird empfohlen, ihn zuerst auszuführen.
Das obige ist der detaillierte Inhalt vonWarum gibt MySQL „Zugriff verweigert für Benutzer „root' ohne Berechtigungen' zurück und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!