Einführung
Das MySQL-Root-Passwort ermöglicht dem Root-Benutzer vollen Zugriff auf die Mysql-Datenbank,Menschen kämpfen manchmal mit Passwörtern, weil Sie heutzutage viele davon benötigen,Wenn Sie das Root-Passwort für Ihre MySQL-Datenbank vergessen oder verlieren, können Sie immer noch Zugriff erhalten und Setzen Sie das Passwort zurück, wenn Sie Zugriff auf den Server und ein sudo-fähiges Benutzerkonto haben.
Dieser Artikel behandelt, wie Sie das Root-Passwort für ältere und neuere MySQL-Versionen zurücksetzen.
Voraussetzungen
Um Ihr MySQL-Root-Passwort wiederherzustellen, benötigen Sie:
- Zugriff auf den Linux-Server, auf dem MySQL mit einem sudo-Benutzer ausgeführt wird
Schritt 1:Identifizieren der Datenbankversion
Identifizieren Sie die Datenbankversion mit dem folgenden Befehl. Notieren Sie sich, welche Datenbankversion Sie ausführen, da Sie sie später verwenden werden, da Sie andere Befehle verwenden müssen, um das Root-Passwort wiederherzustellen.
mysql --version
Mit MySQL sehen Sie eine Ausgabe wie diese:
MySQL-Ausgabemysql Ver 14.14 Distrib 5.7.16, für Linux (x86_64) mit EditLine-Wrapper
Schritt 2:Stoppen des Mysql-Servers
Bevor Sie das Root-Passwort ändern, müssen Sie den Mysql-Dienst stoppen
Führen Sie in Ubuntu und Debian den folgenden Befehl aus:
sudo service mysql stop
Führen Sie in CentOS, Fedora und Red Hat Enterprise Linux den folgenden Befehl aus:
sudo service mysqld stop
Nachdem der MySQL-Server gestoppt wurde, greifen Sie manuell darauf zu, um das Root-Passwort zurückzusetzen.
Schritt 3:Zugriff auf die Datenbank mit Root-Rechten
Wenn Sie MySQL ausführen, ohne Informationen über Benutzerrechte zu laden, können Sie mit Root-Rechten auf die Datenbankbefehlszeile zugreifen, ohne ein Kennwort anzugeben. Dadurch erhalten Sie Zugriff auf die Datenbank, ohne es zu wissen.
Starten Sie die Datenbank, ohne die Grant-Tabellen zu laden, und stellen Sie sicher, dass Sie das kaufmännische Und-Symbol am Ende hinzufügen.
sudo mysqld_safe --skip-grant-tables &
Jetzt können Sie sich als Root-Benutzer mit der Datenbank verbinden, was nicht nach einem Passwort fragen sollte.
mysql -u root
Stattdessen sehen Sie einen Datenbank-Shell-Prompt.
Geben Sie „Hilfe“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.
mysql>
Schritt 4:Legen Sie ein neues Mysql-Root-Passwort fest
Um ein Mysql-Root-Passwort zu ändern, können Sie dies tun, indem Sie den Befehl update user in der Mysql-Datenbank ändern
use mysql;
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
flush privileges;
quit
Hinweis:Für MySQL 5.7 und höher wurde das Passwortfeld im Tabellenfeld mysql.user entfernt, jetzt lautet der Feldname „authentication_string“. Verwenden Sie den folgenden Aktualisierungsbefehl anstelle des obigen.
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
Hinweis:Achten Sie darauf, mynewpassword zu ersetzen mit Ihrem neuen Passwort Ihrer Wahl.
Sobald der Befehl ausgeführt wurde, sollten Sie eine Bestätigung sehen, dass der Befehl erfolgreich ausgeführt wurde.
Ausgabe
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
Schritt 5:Beenden und starten Sie den Mysql-Dienst
Sobald Sie das Passwort aktualisiert haben, müssen Sie den Mysql-Dienst neu starten
Führen Sie in Ubuntu und Debian den folgenden Befehl aus:
sudo service mysql stop sudo service mysql start
Führen Sie in CentOS, Fedora und Red Hat Enterprise Linux den folgenden Befehl aus:
sudo service mysqld stop sudo service mysqld start
Schritt 6:Melden Sie sich bei der Datenbank an
Versuchen Sie, sich mit einem neuen Passwort bei den Datenbanken anzumelden. Geben Sie Ihr neues Passwort ein, wenn Sie dazu aufgefordert werden.
mysql -u root -p
Schlussfolgerung
Sie können jetzt administrativen Zugriff auf MySQL haben. Stellen Sie sicher, dass das neu gewählte Root-Passwort stark und sicher ist. Denken Sie daran, es nicht wieder zu vergessen :)