MySQL-Server Root-Passwort vergessen ?
Ist das MySQL Root-Passwort vergessen oder verlorengegangen! keine Panik!

In diesem Tutorial zeige ich, wie du das MySQL Root-Passwort schnell und einfach Zurücksetzen kannst.
Das Zurücksetzen des MySQL Root-Passwort in wenigen Schritte. Die einfachste Methode für das Zurücksetzen des MySQL Root-Passwort.
Die Anleitung gilt ausschließlich für die Open-Source Datenbank MariaDB, der beliebte Fork des MySQL-Datenbank Servers.
MySQL Root-Passwort Zurücksetzen
Für die folgenden Schritte wird der Shell Zugang mit einem lokalen Benutzerkonto auf dem System vorausgetzt, auf diesem MariaDB/MySQL ausgeführt wird. Das Benutzerkonto muss über die sudo-Zugehörigkeit verfügen, für das Ausführen der Befehle mit erhöhten Privilegien.
MySQL-Server stoppen
Als erstes beende den MariaDB/MySQL Server und stoppe den Dienst.
$ sudo systemctl stop mysqld
MySQL-Server ohne Passwort starten
Starte nun wie folgt eine temporäre MySQL-Serverinstanz.
$ sudo -u mysql mysqld --skip-grant-tables &
Der MySQL-Server wird mit der Option --skip-grant-tables
gestartet, dabei werden die Grant-Tabellen nicht geladen, damit wird keine Zugriffskontrolle angewendet. Die Benutzer können nun ohne Passwort auf den MariaDB/MySQL Server zugreifen.
In einer Terminal-Shell ist jetzt der Login als Root-Benutzer am MariaDB/MySQL-Server möglich, ohne ein Passwort.
$ mysql -u root
MySQL Root-Passwort Zurücksetzen
Nun die Anweisung zum Zurücksetzen der aktuellen Berechtigungen.
FLUSH PRIVILEGES;
Jetzt das MySQL Root-Passwort mit folgendem Befehl Zurücksetzen.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Platzhalter „NewPassword“ durch das gewünschte Passwort ersetzen.
Zum Schluss die Berechtigungen erneut einlesen und MySQL beenden.
FLUSH PRIVILEGES;
quit
Das MySQL Root-Passwort ist geändert. Der zuvor gestartete temporäre MySQL-Server wird nun gestoppt, mit dem nächsten Shell Befehl.
$ ps auxw | grep '\-\-skip-grant-tables' | tail -n 1 | awk '{ print $2 }' | sudo xargs kill
MySQL-Server wieder starten
Starte nun den MariaDB/MySQL-Server neu und melde dich mit dem neuen Passwort an.
$ sudo systemctl start mysqld
$ mysql -u root -p
Der MariaDB/MySQL-Server ist wieder unter vollständiger Kontrolle.
sudo -u mysql mysqld --skip-grant-tables &
nach dem ausführen des Befehls muss möglicherweise Enter oder Ctrl+C gedrückt werden.
Über MariaDB
MariaDB ist ein freies, relationales Open-Source Datenbank-management-system, das durch eine Abspaltung (Fork) aus MySQL entstanden ist. Der relationale Datenbank Server, MySQL beruht beim Hauptentwickler Michael Widenius. Der Aufbau welcher MariaDB ursprünglich hatte, beinhaltet die Software-Schicht, welche die Basisfunktionalität der Datenbank enthält, für das Erstellen, Lesen, Ändern und Löschen von Daten.
Ergänzung
Alternative Anweisung um das MySQL Root-Passwort zu ändern.
UPDATE USER set password=PASSWORD('NewPassword') where User='root';
FLUSH PRIVILEGES;
quit
Fazit
Dieses Tutorial zeigt, wie man das vergessene oder verlorengegangene Root-Passwort des MySQL-Servers zurücksetzt. Die Schritte wurden in der GNU Bash auf einem Ubuntu 22.04.3 LTS in WSL und auf einem virtuellen Debian 12 (Bookworm) GNU/Linux mit MariaDB 10.6.18-Datenbankserver ausgeführt.