Website-Suche

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 mysql

Für MariaDB:

$ sudo systemctl stop mariadb

Als 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:

$ mysql

Geben 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;
exit

Schließ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 shutdown

Sie 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 mysql

Für MariaDB:

$ sudo systemctl start mariadb

Überprüfen Sie mit dem folgenden Befehl, ob das Passwort wirklich geändert wurde:

$ sudo mysql -u root -p

Und das ist vorerst alles. Ich hoffe, Sie finden das nützlich.