So setzen Sie das Passwort zurück, wenn Sie es in MySQL8 vergessen haben (die alte MySQL-Methode funktioniert nicht)

So setzen Sie das Passwort zurück, wenn Sie es in MySQL8 vergessen haben (die alte MySQL-Methode funktioniert nicht)

Die Befehlszeile mysqld –skip-grant-tables kann in mysql8 nicht erfolgreich gestartet werden und der Parameter kann in der INI-Datei nicht gestartet werden.

Das MySQL-Passwort wird in der Benutzertabelle gespeichert. Das Ändern des Passworts bedeutet tatsächlich, dass der Datensatz in der Tabelle geändert wird.

Die Idee des Zurücksetzens besteht darin, einen Weg zu finden, ohne Kennwort in das System einzusteigen und dann mithilfe von Datenbankbefehlen den Kennwortdatensatz in der Benutzertabelle zu ändern.

Nach der Überprüfung besteht die vom MySQL5-System im Internet empfohlene Methode darin, den MySQL-Dienst mit dem Parameter --skip-grant-tables zu starten. Dies bedeutet, dass die Autorisierungstabelle beim Start nicht geladen wird. Nach dem erfolgreichen Start kann sich der Root-Benutzer also mit einem leeren Kennwort anmelden.

mysqld --skip-grant-tables

Nach dem Einloggen können Sie

UPDATE Benutzer SET authentication_string=” WHERE Benutzer='root';

Diese Befehle legen das Passwort fest oder lassen es leer.

Allerdings kann die Befehlszeile wie mysqld –skip-grant-tables in mysql8 nicht erfolgreich gestartet werden und der Parameter kann in der INI-Datei nicht gestartet werden.

Zwei Ideen zum Zurücksetzen des MySQL8-Systemkennworts

Es gibt zwei Möglichkeiten. Sie können den Parameter --init-file verwenden, um die Befehlsdatei zum Ändern des Kennworts beim Start des Dienstes zu laden und auszuführen. Sobald der Befehl ausgeführt wird, wird das Kennwort nach dem Start des Dienstes gelöscht oder zurückgesetzt. Nach dem Start des Dienstes können Sie sich mit einem leeren Kennwort oder einem angegebenen Kennwort anmelden.

Oder untersuchen Sie weiter, warum der Dienst mit dem Befehlszeilenparameter –skip-grant-tables nicht gestartet werden kann, lösen Sie das Problem, starten Sie dann den Dienst und melden Sie sich mit einem leeren Kennwort an. Geben Sie den Befehl zum Löschen oder Zurücksetzen des Kennwortdatensatzfelds in der Tabelle mysql.user manuell ein.

Ersteres ist zu empfehlen.

Der konkrete Betriebsablauf ist wie folgt:

Methode 1: Verwenden Sie den Parameter --init-file, um

Dieser Parameter gibt an, dass beim Starten des Dienstes eine SQL-Befehlsdatei ausgeführt wird. Sie müssen daher nur den Befehl zum Zurücksetzen des Kennworts in die Datei schreiben und mit diesem Parameter angeben, dass der Befehl beim Start ausgeführt wird. Nach Abschluss des Startvorgangs können Sie das Systemkennwort zurücksetzen.

Der erste Schritt besteht darin, den Systemdienst herunterzufahren

Netzstopp MySQL

Der zweite Schritt besteht darin, eine Textdatei zu erstellen, die einen Befehl zur Kennwortänderung enthält

ALTER USER 'root'@'localhost' IDENTIFIZIERT DURCH ';

Schritt 3: Starten Sie den Server im Befehlszeilenmodus und geben Sie die Befehlsdatei zur Kennwortänderung an, die beim Start ausgeführt werden soll

mysqld –init-file=d:mysqlc.txt –console

Screenshots spezifischer Vorgänge

Methode 2: Finden Sie eine Möglichkeit, den Parameter --skip-grant-tables zu verwenden

Wie bei Methode 1, schalten Sie zuerst den Systemdienst aus

Beim tatsächlichen Testen kann der Dienst unter dem mysql8-System mit mysqld –console –skip-grant-tables –shared-memory ohne Kennwort gestartet werden.

Nachdem der Dienst gestartet wurde, melden Sie sich mit einem leeren Passwort am System an

mysql.exe -u root

Führen Sie dann den SQL-Befehl aus, um das Root-Benutzerkennwort auf leer zu setzen

UPDATE mysql.user SET authentication_string=” WHERE user='root' und host='localhost';

Screenshots spezifischer Vorgänge

Aufgrund einiger Funktionen von MySQL 8 ist die alte Reset-Methode nicht sehr effektiv. Es wird empfohlen, den Parameter –init-file zu verwenden, um das Problem zu lösen. Es wurde getestet, dass es sicher und zuverlässig ist.

Der Verlust Ihres Datenbankverwaltungskennworts ist ein echtes Ärgernis. Wenn Sie es nicht erfolgreich abrufen können, stecken Sie in großen Schwierigkeiten. Die meisten Lösungen im Internet sind veraltet. Es wird empfohlen, diesen Artikel zu speichern und ihn bei Bedarf zu lesen.

Das könnte Sie auch interessieren:
  • Die perfekte Lösung, um das Passwort in mysql8.0.19 zu vergessen
  • Lösung zum Vergessen des Root-Passworts von MySQL5.7 unter Windows 8.1
  • Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern
  • Fallstricke bei der Installation des komprimierten MySQL 8.0.18-Pakets und beim Zurücksetzen vergessener Passwörter
  • mysql8.0: Passwortänderung vergessen und Problem mit ungültigem Net-Befehlsdienstnamen
  • Schnelle Lösung zum Vergessen des MySQL8-Passworts

<<:  Tipps zum Anzeigen von Text in Linux (super praktisch!)

>>:  Detaillierte Erläuterung der erweiterten Konstruktionseigenschaften von Vue

Artikel empfehlen

MySQL-unabhängiger Index und gemeinsame Indexauswahl

Häufig fehlt das Verständnis für mehrspaltige Ind...

Rundungsvorgang des Datums-/Uhrzeitfelds in MySQL

Inhaltsverzeichnis Vorwort 1. Hintergrund 2. Simu...

Rastersysteme im Webdesign

Bildung des Gittersystems Im Jahr 1692 war der fr...

Installieren Sie MySQL 5.7 unter Ubuntu 18.04

Dieser Artikel wurde unter Bezugnahme auf die off...

So verwenden Sie vs2019 für die Linux-Remote-Entwicklung

Normalerweise gibt es bei der Entwicklung von Lin...

So löschen Sie Junk-Dateien elegant in Linux

Ich frage mich, ob Sie wie ich ein Programmierer ...

Die normale Methode der MySQL-Deadlock-Prüfungsverarbeitung

Normalerweise wird bei einem Deadlock die Verbind...

Ubuntu-Installations-Grafiktreiber und CUDA-Tutorial

Inhaltsverzeichnis 1. Deinstallieren Sie den Orig...

Ein Artikel zeigt Ihnen, wie Sie den Watch-Listener von Vue verwenden

Inhaltsverzeichnis Hörer beobachten Format Richte...

So erstellen Sie Ihre erste React-Seite

Inhaltsverzeichnis Was ist Rract? Hintergrund Rea...

So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen

1. Fügen Sie den folgenden Code zu http{} in ngin...

Implementierung der React-Sternebewertungskomponente

Voraussetzung ist die Eingabe der Bewertungsdaten...

Grundlegendes Installationstutorial zum Dekomprimieren von MySQL-Paketen

Da ich auf einen neuen Computer gewechselt bin, m...