Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So setzen Sie das Root-Passwort in MySQL 8.0 zurück

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

Glücklicherweise gibt es eine einfache Lösung, und dieses Tutorial führt Sie durch den Prozess zum Wiederherstellen oder Zurücksetzen 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 beides prüfen.

MySQL-Root-Passwort mit –init-file zurücksetzen

Eine Möglichkeit, das Root-Passwort zurückzusetzen, besteht darin, eine lokale Datei zu erstellen und dann den MySQL-Dienst mit --init-file zu starten 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 dieser Datei Folgendes ein:

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

Ändern Sie oben „new_password ” mit dem Passwort, das Sie verwenden möchten.

Stellen Sie nun sicher, dass der MySQL-Dienst beendet 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 die von Ihnen erstellte Init-Datei ausgeführt und somit das Passwort für den Root-Benutzer aktualisiert. Achten Sie darauf, die Datei zu löschen, nachdem das Passwort zurückgesetzt wurde.

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 sich jetzt mit dem neuen Passwort als root mit dem MySQL-Server verbinden können.

# mysql -u root -p

MySQL-Root-Passwort mit –skip-grant-tables zurücksetzen

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

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

Stellen Sie zunächst sicher, dass der MySQL-Dienst beendet 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 &

Dann können Sie sich mit dem MySQL-Server verbinden, indem Sie einfach ausführen.

# mysql

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

# FLUSH PRIVILEGES;

Jetzt können Sie die folgende Abfrage ausführen, um das Kennwort zu aktualisieren. Stellen Sie sicher, dass Sie „new_password“ durch das tatsächliche Passwort ersetzen, das Sie verwenden möchten.

# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

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 sich mit Ihrem neuen Passwort verbinden können.

# mysql -u root -p

Vielleicht möchten Sie auch diese nützlichen 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 Kommandozeilen-Tools zur Überwachung der MySQL-Leistung
  5. MySQL-Datenbankverwaltungsbefehle
Schlussfolgerung

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