MySQL/MariaDB Root-Passwort zurücksetzen: So geht’s

Vergisst Du Dein Root-Passwort für MySQL oder MariaDB, kann das ziemlich ärgerlich sein. Aber keine Sorge, mit ein paar kurzen Befehlen kannst Du das Problem schnell lösen. Hier zeigen wir Dir, wie Du das Root-Passwort zurücksetzen kannst, damit Du wieder vollen Zugriff hast.

Voraussetzungen

Bevor Du beginnst, stelle sicher, dass Du eine SSH-Verbindung zu Deinem Server aufbauen kannst. Dies ist notwendig, um die folgenden Schritte durchzuführen.

Schritt 1: Verbindung herstellen

  1. SSH-Verbindung: Verbinde Dich per SSH mit Deinem Server und öffne die Root-Befehlszeile.
  2. MySQL-Server testen: Prüfe, ob Du möglicherweise doch Zugriff auf den MySQL-Server hast, indem Du den Befehl mysql eingibst. Erhältst Du keinen Authentifizierungsfehler, bist Du bereits angemeldet. Auf Debian und Ubuntu ist das oft der Fall, weil sich der System-Root per Socket ohne Passwort anmelden darf. Setze dann direkt das neue Passwort und überspringe die Schritte 2 bis 4:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'neues-passwort';

Schritt 2: MySQL ohne Rechte-Tabelle starten

Um das Passwort zurückzusetzen, muss MySQL in einem Modus gestartet werden, bei dem die Rechte-Prüfung deaktiviert ist. Dies soll nur für die Dauer des Passwort-Resets geschehen, da in diesem Modus jeder auf alle Datenbanken zugreifen kann.

  1. MySQL-Server stoppen: Gib folgenden Befehl ein, um den MySQL-Server zu stoppen:
 systemctl stop mysql
  1. MySQL im Unsafe-Modus starten: Starte den MySQL-Server ohne Rechte-Prüfung und ohne Netzwerkzugriff. So kann sich währenddessen niemand von außen verbinden:
 mysqld_safe --skip-grant-tables --skip-networking &

Du solltest nun eine Ausgabe sehen, die darauf hinweist, dass MySQL im unsicheren Modus gestartet wurde.

Schritt 3: Passwort zurücksetzen

Nun kannst Du das Passwort für den Root-Benutzer ändern:

  1. MySQL Konsole öffnen: Öffne die MySQL-Konsole:
 mysql
  1. Passwort ändern: Lade zuerst die Rechte-Tabellen neu. Erst danach funktioniert ALTER USER. Setze dann ein neues Passwort für den Root-Benutzer:
 FLUSH PRIVILEGES;
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'neues-passwort';
 quit;

Der alte Weg über UPDATE mysql.user ... password() funktioniert ab MySQL 8 und MariaDB 10.4 nicht mehr.

Schritt 4: MySQL-Server neu starten

Nachdem das Passwort zurückgesetzt wurde, muss der MySQL-Server im sicheren Modus wieder gestartet werden:

  1. Unsicheren MySQL-Server stoppen:
 mysqladmin -uroot shutdown
  1. Normalen MySQL-Server starten:
 systemctl start mysql

Schritt 5: Neue Zugangsdaten testen

Teste nun, ob das neue Passwort funktioniert:

  1. Kommandozeile: Melde Dich mit dem neuen Passwort an:
 mysql -uroot -p

Gib das neue Passwort ein, wenn Du dazu aufgefordert wirst.

  1. phpMyAdmin: Alternativ kannst Du den Zugriff auch über phpMyAdmin testen.

Wenn alles geklappt hat, solltest Du nun wieder vollen Zugriff auf Deinen MySQL- oder MariaDB-Server haben.

Weiterführende Quellen

Viel Erfolg beim Verwalten Deiner Datenbanken!