MySQL Access verweigert für den Benutzer 'root'@'localhost'

MySQL Access verweigert für den Benutzer 'root'@'localhost'
„Einer der häufigsten Fehler, die von MySQL -Benutzern auftreten, ist„ MySQL Access, der für den Benutzer 'root'@'localhost' verweigert wurde.Und ob Sie ein neuer MySQL -Benutzer oder ein Neuling sind, und die verschiedenen Techniken zur Lösung zu kennen, ist vorteilhaft.

Mit diesem Handbuch finden Sie drei Methoden zur Lösung dieses Fehlers.”

Was bedeutet dieser Fehler??

Der beste Weg, um diesen Fehler zu verstehen, besteht darin, ihn in Einzelkomponenten zu unterteilen. Dieser Fehler tritt auf, wenn Sie versuchen, sich in Ihrer MySQL -Instanz auf Ihrer lokalen Maschine anzumelden, daher Localhost.''

Ein Beispiel ist wie gezeigt:

$ mysql -u root -p

Die Komponenten des Fehlers sind wie folgt:

  1. Fehler 1045 (28000) - bezieht sich auf den Fehlercode bzw. SQLState. Zum Beispiel bedeutet der Fehlercode 1045 in MySQL und MariADB, dass der Zugriff für diesen Benutzernamen mit dem angegebenen Passwort verweigert wurde.
  2. Die zweite ist die Nachrichtenzeichenfolge. Die Fehlermeldung folgt dem Format: Zugriff für Benutzer '%s'@'%s' (mit Passwort:%s).

Hinweis: Die ersten %S in der Fehlermeldung beziehen sich auf den Benutzernamen, während sich der zweite auf den Host bezieht.

Lösung 1: sudo in MySQL

Die erste und häufigste Methode, um diesen Fehler aufzulösen.

Öffnen Sie Ihr Terminal und laufen Sie:

$ sudo mysql

Geben Sie das Passwort für das Konto ein und fahren Sie fort.

Ändern Sie als nächstes das auth_plugin und legen Sie ein neues Kennwort für das Stammkonto wie gezeigt fest:

Ändern Sie den Benutzer 'root@localhost' mit mySQL-nativ_password mit 'password';

Durch das Ändern des Authentifizierungs -Plugins können Sie sich bei Ihrem Server anmelden.

Als nächstes spülen Sie die Berechtigungen zur Aktualisierung der Zuschusstische:

Spülung Privilegien;

Beenden Sie schließlich das Terminal und versuchen Sie Ihr Login:

$ mysql -u root -p

Lösung 2- Bearbeiten Sie die Konfigurationsdatei manuell manuell

Wenn der Fehler bestehen bleibt, müssen Sie möglicherweise die MySQL -Konfigurationsdatei bearbeiten. In den meisten Fällen steht es unter dem Namen my.CNF in den Verzeichnissen /etc oder /etc /mysql.

Suchen Sie diese Datei im Ordner mySQL -Installationsordner für Windows und Mac -Benutzer.

Wenn die Datei nicht vorhanden ist, erstellen Sie sie.

Öffnen Sie die Datei mit Ihrem Texteditor und suchen Sie den MySQLD -Block.

$ nano/etc/mysql/mein.CNF

Fügen Sie unter dem [MySQLD] -Block den folgenden Eintrag hinzu.

Den Grant-Tabellen überspringen

Schließen und speichern Sie die Datei.

Starten Sie als nächstes den MySQL -Server neu und melden Sie sich an.

$ sudo Service MySQL Neustart
$ mysql -u root -p

Sobald Sie sich angemeldet haben, spülen Sie die Berechtigungen und setzen Sie ein neues Passwort:

Spülung Privilegien;
Benutzern Sie den Benutzer "root@localhost" durch "Passwort" identifiziert;

Stellen Sie sicher, dass Sie den obigen Befehl durch ein sicheres Passwort ersetzen.

Nach Abschluss bearbeiten Sie meine.CNF -Datei und entfernen Sie den Eintrag, den wir zuvor hinzugefügt haben.

Starten Sie den MySQL -Server neu und melden Sie sich mit Ihrem neuen Passwort an.

Lösung 3 - Starten Sie MySQL im abgesicherten Modus

MySQL bietet Ihnen das Dienstprogramm mySQLD_Safe, um den MySQL -Server zu starten. Mit diesem Dienstprogramm können wir sichere Funktionen beim Starten und Neustarten des Servers zur Diagnose von Fehlern angeben.

Beginnen Sie damit, den MySQL -Server zu stoppen.

$ sudo service MySQL Stopp

Als nächstes starten Sie MySQL ohne Authentifizierung als;

$ mysqld_safe--skip-grant-Tabellen &

Der Befehl startet den Server im Hintergrund als Job.

Sobald der Daemon ausgeführt wird (mit Behinderung der Authentifizierung), öffnen Sie ein neues Terminal und führen Sie aus:

$ mysql -u root -p

Der obige Befehl sollte es Ihnen ermöglichen, sich ohne Passwort anzumelden.

Sobald Sie sich angemeldet haben, spülen Sie die Berechtigungen und setzen Sie ein neues Passwort als:

Spülung Privilegien;
Benutzern Sie den Benutzer "root@localhost" durch "Passwort" identifiziert;

Schließen Sie die Sitzung und starten Sie MySQL neu.

Melden Sie sich nun mit Ihrem neuen Passwort bei Ihrem Server an.

Schließen

In diesem Artikel haben wir drei Hauptmethoden zur Lösung der Auflösung der

"MySQL Access verweigert für Benutzer 'root@localhost'" Fehler.

Wir hoffen, dass dieses Tutorial Ihnen geholfen hat, diesen Fehler zu lösen.