Enthüllung des Rätsels: Lösung von „Zugriff verweigert für Benutzer ‚root‘@‘localhost‘ (mit Passwort: JA)“
Der Fehler Meldung „Zugriff für Benutzer ‚root‘@‘localhost‘ verweigert (mit Passwort: JA) – Keine Berechtigungen?“ kann auftreten, wenn versucht wird, mit dem Root-Benutzer eine Verbindung zu einer MySQL-Datenbank herzustellen. Dieses frustrierende Problem tritt auf, wenn die Schema-Berechtigungen des Root-Benutzers null sind, wodurch praktisch alle Zugriffsrechte widerrufen werden.
Der Ursache des Problems auf der Spur
Ein Blick in die MySQL Workbench, it Es wird festgestellt, dass die Schema-Berechtigungen des Root-Benutzers tatsächlich fehlen. Dies erklärt, warum Standardbefehle wie FLUSH HOSTS und FLUSH PRIVILEGES keine Ergebnisse liefern.
Root-Zugriff zurückfordern: Eine Schritt-für-Schritt-Anleitung
Führen Sie die Abfrage „SELECT user, Authentication_String, Plugin, Host FROM mysql.user;" um die Authentifizierungsmethode zu bestimmen. Wenn „auth_socket“ für den Root-Benutzer angezeigt wird, bedeutet dies, dass die Socket-Authentifizierung verwendet wird, die Root-Zugriff auf den Server erfordert.
Um eine Verbindung mit einem Passwort zu ermöglichen, aktualisieren Sie den Wert „authentication_string“ für den Root-Benutzer unter „localhost“ auf „mysql_native_password“, das zur Authentifizierung ein Passwort erfordert.
Verwenden Sie den Befehl „ALTER USER 'root'@ 'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';" um das Root-Passwort festzulegen.
Gewähren Sie dem Root-Benutzer bei Bedarf die entsprechenden Berechtigungen mit dem GRANT-Befehl.
Führen Sie „FLUSH PRIVILEGES;“ aus. um sicherzustellen, dass die Änderungen wirksam werden.
Führen Sie die Benutzerinformationsabfrage erneut aus, um zu überprüfen, ob der Root-Benutzer jetzt über „mysql_native_password“ verfügt. Authentifizierung und die gewünschten Berechtigungen.
Durch Befolgen dieser Schritte kann der Root-Zugriff wiederhergestellt werden, was die vollständige Kontrolle über MySQL ermöglicht Datenbank.
Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Zugriff verweigert für Benutzer ‚root'@'localhost' (mit Passwort: JA)'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!