Wie man das MySQL- oder MariaDB-Root-Passwort zurücksetzt
Vor ein paar Monaten habe ich auf einem Ubuntu 18.04 Server LAMP-Stack eingerichtet. Heute habe ich versucht, mich als Root-Benutzer auf meinem Datenbankserver anzumelden, aber ich habe das Passwort völlig vergessen. Nach einigen Webrecherchen und dem Durchsehen des MySQL-Forums habe ich erfolgreich das Passwort des MySQL-Root-Benutzers zurückgesetzt. Für diejenigen, die wissen möchten, wie man das macht, erklärt dieses kurze Tutorial die Schritte zum Zurücksetzen des MySQL- oder MariaDB-Root-Passworts in Linux- und Unix-ähnlichen Betriebssystemen.
MySQL- oder MariaDB-Root-Passwort zurücksetzen
Stoppen Sie zuerst den Datenbankserver.
Wenn Sie MySQL verwenden, geben Sie den folgenden Befehl ein und drücken die ENTER-Taste.
$ sudo systemctl stop mysqlFür MariaDB:
$ sudo systemctl stop mariadbAls Nächstes starten Sie den Datenbankserver ohne Berechtigungsprüfung mit folgendem Befehl neu:
$ sudo mysqld_safe --skip-grant-tables &
Hier ermöglicht Ihnen die Option --skip-grant-tables, sich ohne Passwort und mit allen Rechten zu verbinden.
Wenn Sie Ihren Server mit dieser Option starten, wird auch die Option --skip-networking aktiviert, die verwendet wird, um zu verhindern, dass andere Clients eine Verbindung zum Datenbankserver herstellen.
Und das Ampersand (&) Symbol wird verwendet, um den Befehl im Hintergrund auszuführen, sodass Sie die anderen Befehle in den folgenden Schritten eingeben können.
Bitte beachten Sie, dass der obige Befehl gefährlich ist und Ihr Datenbankserver unsicher wird. Sie sollten diesen Befehl nur für eine kurze Zeit ausführen, um das Passwort zurückzusetzen.
Als Nächstes melden Sie sich auf Ihrem MySQL/MariaDB-Server als root-Benutzer an:
$ mysqlGeben Sie am mysql>- oder MariaDB [(none)]>-Prompt folgenden Befehl ein, um das Passwort des Datenbank-root-Benutzers zurückzusetzen:
UPDATE mysql.user SET Password=PASSWORD('ostechnix') WHERE User='root';Ersetzen Sie ostechnix im obigen Befehl durch Ihr eigenes Passwort.
Geben Sie dann die folgenden Befehle ein, um die MySQL-Konsole zu verlassen.
FLUSH PRIVILEGES;exitSchließen Sie schließlich den laufenden Datenbankserver, den Sie zuvor mit der Option --skip-grant-tables gestartet haben. Führen Sie dazu Folgendes aus:
$ sudo mysqladmin -u root -p shutdownSie werden aufgefordert, das MySQL/MariaDB-root-Benutzerpasswort einzugeben, das Sie im vorherigen Schritt festgelegt haben.
Enter password:
[2]- Done sudo mysqld_safe --skip-grant-tables
Starten Sie nun den MySQL/MariaDB-Dienst normalerweise mit dem Befehl:
$ sudo systemctl start mysqlFür MariaDB:
$ sudo systemctl start mariadbÜberprüfen Sie mit dem folgenden Befehl, ob das Passwort wirklich geändert wurde:
$ sudo mysql -u root -pUnd das ist vorerst alles. Ich hoffe, Sie finden das nützlich.