• Warum dogado?
Wähle ein Artikel
MariaDB/MySQL Passwort vergessen und wieder zurücksetzen
MariaDB/MySQL Passwort vergessen und wieder zurücksetzen

Es gibt viele schlimme Momente im Leben eines Administrators – einer dieser Momente ist die Feststellung, dass man ein wichtiges Passwort vergessen hat. Hält man doch seine Benutzer dazu an, sich wichtige Passwörter aufzuschreiben, ob auf Papier oder in einem Passwortmanager.

Eines der wichtigsten Passwörter ist das root-Passwort für MySQL/MariaDB. Hier gibt es keinen „Passwort zurücksetzen“-Link – es ist aber trotzdem möglich, auch ohne das alte Passwort zu kennen.

Die Vorgehensweise unterscheidet sich etwas, je nach Datenbankserver-Version. Hier findest du die Lösung.

MySQL/MariaDB root-Passwort neu vergeben

Zuerst loggst du dich per SSH (oder unter Windows mit „putty“) auf deinem dogado-Server ein. du musst dafür root-Rechte haben.

In Ubuntu 20.04 ist die Standardkonfiguration des SQL-Servers so, dass jeder root-Benutzer des Systems auch root-Rechte in MySQL/MariaDB hat. In diesem Fall ist es nicht notwendig, das root-Passwort zu ändern.

Versuche zuerst, dich mit

sudo mysql

in die Konsole einzuloggen. Ist dir das gelungen, kannst du alle Datenbank-Operationen einfach durchführen.

Hast du die Authentifizierungsmethode geändert, z.B. aus Sicherheitsgründen, muss der Datebankserver zur Änderung heruntergefahren werden.

Wichtig! du solltest deine anderen Benutzer, sofern es welche gibt, darüber informieren und diese Änderung im Voraus ankündigen. Sämtliche Websites, die die Datenbank verwenden, sind in dieser Zeit eingeschränkt oder gar nicht erreichbar! Lege die Änderungszeit also so, dass möglichst wenige Benutzer und Website-Besucher davon betroffen sind!

MySQL/MariaDB herunterfahren

Zuerst prüfst du, welche Version du installiert hast.

mysql --version

Mögliche Ausgaben sind:

mysql  Ver 15.1 Distrib **10.3.25-MariaDB**, for debian-linux-gnu (x86\_64) using readline 5.2

und

mysql  Ver **8.0.23**-0ubuntu0.20.04.1 for Linux on x86\_64 ((Ubuntu))

Je nachdem, ob du MariaDB oder MySQL verwendest, unterscheidet sich der Befehl:

sudo systemctl stop mariadb

oder

sudo systemctl stop mysql

MySQL/MariaDB ohne Passwortabfrage starten

Um die Passwortabfrage zu übergehen, musst du den Datenbankserver so starten, dass er die Tabelle „Grant Tables“ nicht lädt. Hier sind die Benutzer mit Rechten und Passwörtern gespeichert. Da in diesem Fall aber auch andere Nutzer einfach ohne Passwort anmelden können, ist das ein Sicherheitsrisiko. In diesem Fall startest du den Server ohne Netzwerkkommunikation.

Der erste Befehl setzt die richtige Option, der Zweite startet den Datenbankserver, hier MariaDB.

sudo systemctl set-environment MYSQLD\_OPTS="--skip-grant-tables --skip-networking"

sudo systemctl start mariadb

Du kannst nun ohne Passworteingabe einloggen:

sudo mysql -u root

Lade nun nachträglich die Tabelle mit den Userrechten:

FLUSH PRIVILEGES;

root-Passwort in MariaDB ändern

Verwendest du MariaDB, setzt du mit diesem Befehl ein neues root-Passwort:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'sicheres\_passwort';

wobei du ‚sicheres_passwort‘ durch ein sicheres neues Passwort ersetzt.

Hast du die Authentifizierungsmethode in MariaDB geändert, legst du mit den folgenden Befehlen fest, dass auch wirklich die Benutzer-Authentifizierung mit Passwort verwendet wird. Ansonsten hat die Änderung keinen Effekt.

root-Passwort in MySQL ändern

In MySQL wird die Änderung etwas anders vorgenommen:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching\_sha2\_password BY 'sicheres\_passwort';

MySQL/MariaDB wieder normal starten

Zuerst stellst du die normale Konfiguration wieder her

sudo systemctl unset-environment MYSQLD\_OPTS

Nun startest du den Datenbankserver neu

sudo systemctl restart mariadb

oder

sudo systemctl restart mysql

Du kannst mit diesem Befehl testen, ob das Passwort nun wieder abgefragt wird und ob du das richtige Passwort notiert hast:

mysql -u root -p

Hast du alles richtig gemacht, kannst du nun wieder in der Konsole arbeiten:

Fazit Ein vergessenes root-Passwort für MySQL/MariaDB ist keine Katastrophe und kann recht schnell korrigiert werden. Bei Fragen stehen wir dir natürlich zur Verfügung!

Nächster Artikel
Matomo auf vServer installieren
Weitere passende Themen