MySQL root Passwort zurücksetzen

Das nachfolgende Tutorial beschreibt, wie sich das MySQL root Passwort von der Kommandozeile (unter Linux) zurücksetzen lässt.

Im ersten Schritt wird der MySQL Service gestoppt:

sudo systemctl stop mysql

Danach wird der MySQL-Server ohne Berechtigungstabellen gestartet. Dadurch kann jeder ohne Passwort mit allen Rechten auf die Datenbank zugreifen:

sudo mysqld_safe --skip-grant-tables &

Nun als root User ohne Passwort mit der Datenbank verbinden:

mysql -u root

Folgende Schritte durchführen, um ein neues Passwort zu setzen (MY_NEW_PASSWORD anpassen):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
FLUSH PRIVILEGES;

Wenn der vorhergehende Befehl nicht funktioniert, stattdessen diese Version testen:

UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

Bei älteren MySQL-Versionen (5.7.5 und früher) muss folgender Befehl genutzt werden:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');
FLUSH PRIVILEGES;

Wenn alles klappt sollte folgende Rückgabe kommen:

Query OK, 0 rows affected (0.00 sec)

Anschließend die Datenbank stoppen und wieder normal starten. Zunächst die Datenbank stoppen:

mysqladmin -u root -p shutdown

Der Server wird nun nach dem neuen root Kennwort fragen. Nachdem der Server gestoppt wurde, anschließend wieder starten:

sudo systemctl start mysql

Anschließend kannst du über folgenden Befehl erneut verifizieren, ob das neue Passwort funktioniert:

mysql -u root -p

Wenn alles geklappt hat ist das root Passwort nun zurückgesetzt.

Schreibe einen Kommentar