Wie setze ich das MySQL Passwort zurück?

Wie setze ich das MySQL Passwort zurück?

08.07.2020 mysql

Es kann schnell passieren, dass du das Root-Passwort bzw. Zugangspasswort für deinen MySQL oder MariaDB Server vergessen hast. Du kommst beispielsweise über phpMyAdmin nicht mehr rein, musst aber unbedingt etwas ändern. Das ist äußerst ärgerlich. Wir helfen dir dabei, das Problem zu lösen.

Mit ein paar kurzen Befehlen ist es möglich, das Root-Passwort für den MySQL Server zurückzusetzen.

Zunächst musst Du eine SSH Verbindung mit Root-Befehlszeile zu Deinem Server aufbauen. Jetzt solltest Du prüfen, ob Du vielleicht über die Kommandozeile Zugriff auf den MySQL-Server hast.

mysql

Solltest Du jetzt keinen Authentifizierungs-Fehler erhalten haben, geht es hier weiter. Du hast dich dann nämlich über den „Socket auf Deinem Linux-Server“ angemeldet. Bei neueren MySQL-Server Versionen (und auch MariaDB) wird das standardmäßig bei der Installation eingerichtet.

MySQL ohne Rechte-Tabelle starten

Damit das Passwort zurückgesetzt werden kann, muss MySQL in einem bestimmten Modus gestartet werden. In diesem Modus wird die Rechte-Prüfung komplett deaktiviert. Dieser Modus soll nur für die kurze Zeit eingeschaltet sein, in welcher das Passwort zurückgesetzt wird. Denn sonst kann jeder auf alle Datenbanken zugreifen. Ohne Nutzername und Passwort.

Zunächst muss der aktuelle MySQL-Server gestoppt werden. Gib ein

systemctl stop mysql

Jetzt sollte der MySQL Server gestoppt sein.

Um den Server im Unsafe-Modus zu starten, ist nun folgender Befehl nötig:

mysqld_safe --skip-grant-tables &

Du solltest nun eine Ausgabe haben, die ähnlich wie folgende ausschaut:

[email protected]:~# 200629 14:07:28 mysqld_safe Logging to syslog. 200629 14:07:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Passwort zurücksetzen

Es ist nun relativ einfach, das Passwort eines bestimmten Nutzers zurückzusetzen. Ein Befehl reicht aus und das Passwort ist geändert.

update mysql.user set authentication_string=password('neues-passwort') where user = 'root'; flush privileges; quit

Dies setzt das Passwort aller „Root“-User (localhost, remote, IP-gebunden) auf dem Server auf „neues-passwort“.

Nun muss der unsichere MySQL-Server gestoppt werden, der normale Server gestartet werden.

pkill -f mysql systemctl start mysql

Neue Zugangsdaten testen

Test nun, ob Du mit dem neu gesetzten Passwort in die Datenbank reinkommst. Du kannst das entweder über phpMyAdmin prüfen oder über die Kommandozeile. Gib dazu ein:

mysql -uroot -p

Wenn Du nach dem Passwort gefragt wirst, gib das eben neu gesetzte Password ein. Du solltest dich damit nun anmelden können. Happy Selecting!

Virtuelle Server

Frage? Stelle Sie ruhig. Wir antworten Dir gerne!

Deine Anfrage konnte nicht absesendet werden.

Du kannst auch gerne einen Nicknamen eingeben.
Wir versprechen Dir: Diese E-Mail Adresse nutzen wir nicht für Werbezwecke.
Mit der Eintragung bestätige ich die Informationen zum Datenschutz insbesondere nach §13 DSGVO zur Kenntnis genommen zu haben. Ich bin ferner damit einverstanden, dass meine IP-Adresse aufgezeichnet wird, um Missbrauch entgegenzusteuern. Die Löschung kann ich jederzeit beantragen.
Deine Anfrage wurde erfolgreich gesendet. Du wirst in Kürze von uns hören. Weitere Informationen findest Du in Deinem E-Mail Postfach.