Zurücksetzen des Root-Passworts in MySQL 8.0

In einem unglücklichen Fall, dass Sie Ihr MySQL-Root-Passwort vergessen oder verloren haben, brauchen Sie sicherlich eine Möglichkeit, es irgendwie wiederherzustellen. Wir müssen wissen, dass das Passwort in der Benutzertabelle gespeichert ist. Dies bedeutet, dass wir einen Weg finden müssen, um die MySQL-Authentifizierung zu umgehen, damit wir den Kennwortdatensatz aktualisieren können.

Glücklicherweise ist dies leicht zu erreichen und dieses Tutorial führt Sie durch den Prozess des Wiederherstellens oder Zurücksetzens des Root-Passworts in der MySQL 8.0-Version.

Gemäß der MySQL-Dokumentation gibt es zwei Möglichkeiten, das Root-MySQL-Passwort zurückzusetzen. Wir werden beide überprüfen.

Setzen Sie das MySQL-Root-Passwort mit –init-file zurück

Eine Möglichkeit, das Root-Passwort zurückzusetzen, besteht darin, eine lokale Datei zu erstellen und dann den MySQL-Dienst mit zu starten --init-file Option wie gezeigt.

# vim /home/user/init-file.txt

Es ist wichtig, dass Sie sicherstellen, dass die Datei für den MySQL-Benutzer lesbar ist. Fügen Sie in diese Datei Folgendes ein:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';


In der obigen Änderung “Neues Kennwort”Mit dem Passwort, das Sie verwenden möchten.

Datei mit neuem MySQL-Root-Passwort erstellen
Datei mit neuem MySQL-Root-Passwort erstellen

Stellen Sie nun sicher, dass der MySQL-Dienst gestoppt ist. Sie können Folgendes tun:

# systemctl stop mysqld.service     # for distros using systemd 
# /etc/init.d/mysqld stop           # for distros using init

Führen Sie dann Folgendes aus:

# mysqld --user=mysql --init-file=/home/user/init-file.txt --console

Dadurch wird der MySQL-Dienst gestartet und während des Vorgangs wird die von Ihnen erstellte Init-Datei ausgeführt, sodass das Kennwort für den Root-Benutzer aktualisiert wird. Stellen Sie sicher, dass Sie die Datei löschen, nachdem das Kennwort zurückgesetzt wurde.

Setzen Sie das MySQL-Root-Passwort zurück
Setzen Sie das MySQL-Root-Passwort zurück

Stellen Sie sicher, dass Sie den Server stoppen und danach normal starten.

# systemctl stop mysqld.service        # for distros using systemd 
# systemctl restart mysqld.service     # for distros using systemd 

# /etc/init.d/mysqld stop              # for distros using init
# /etc/init.d/mysqld restart           # for distros using init

Sie sollten nun in der Lage sein, mit dem neuen Kennwort eine Verbindung zum MySQL-Server als Root herzustellen.

# mysql -u root -p
Stellen Sie mit dem neuen Root-Passwort eine Verbindung zu MySQL her
Stellen Sie mit dem neuen Root-Passwort eine Verbindung zu MySQL her

Zurücksetzen des MySQL-Root-Passworts mithilfe von –skip-grant-tables

Die zweite Möglichkeit besteht darin, den MySQL-Dienst mit dem zu starten --skip-grant-tables Möglichkeit. Dies ist weniger sicher, da alle Benutzer ohne Kennwort eine Verbindung herstellen können, während der Dienst auf diese Weise gestartet wird.

Wenn der Server gestartet ist --skip-grant-tables, die Option für --skip-networking wird automatisch aktiviert, sodass keine Remoteverbindungen verfügbar sind.

Stellen Sie zunächst sicher, dass der MySQL-Dienst gestoppt ist.

# systemctl stop mysqld.service     # for distros using systemd 
# /etc/init.d/mysqld stop           # for distros using init

Starten Sie dann den Dienst mit der folgenden Option.

# mysqld --skip-grant-tables --user=mysql &

Anschließend können Sie durch einfaches Ausführen eine Verbindung zum MySQL-Server herstellen.

# mysql

Da die Kontoverwaltung deaktiviert ist, wenn der Dienst mit gestartet wird --skip-grant-tables Option müssen wir die Zuschüsse neu laden. Auf diese Weise können wir das Passwort später ändern:

# FLUSH PRIVILEGES;

Jetzt können Sie die folgende Abfrage ausführen, um das Kennwort zu aktualisieren. Stellen Sie sicher, dass Sie “new_password” mit dem tatsächlichen Passwort ändern, das Sie verwenden möchten.

# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
Setzen Sie das Root-Passwort in MySQL 8 zurück
Setzen Sie das Root-Passwort in MySQL 8 zurück

Stoppen Sie nun den MySQL-Server und starten Sie ihn normal.

# systemctl stop mysqld.service        # for distros using systemd 
# systemctl restart mysqld.service     # for distros using systemd 

# /etc/init.d/mysqld stop              # for distros using init
# /etc/init.d/mysqld restart           # for distros using init

Sie sollten in der Lage sein, sich mit Ihrem neuen Passwort zu verbinden.

# mysql -u root -p
Melden Sie sich mit dem neuen Root-Passwort bei MySQL an
Melden Sie sich mit dem neuen Root-Passwort bei MySQL an

Vielleicht möchten Sie auch diese nützlichen folgenden Artikel zu MySQL lesen.

  1. So installieren Sie MySQL 8 in CentOS, RHEL und Fedora
  2. 15 Nützliche Tipps zur Optimierung und Optimierung der MySQL-Leistung
  3. 12 MySQL-Sicherheitspraktiken für Linux
  4. 4 Nützliche Befehlszeilentools zur Überwachung der MySQL-Leistung
  5. Befehle zur Verwaltung der MySQL-Datenbank
Fazit

In diesem Artikel haben Sie gelernt, wie Sie das verlorene Root-Passwort für den MySQL 8.0-Server zurücksetzen. Ich hoffe der Prozess war einfach.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *