Gehaxelts Blog

IT-Security & Hacking

MySQLd root Passwort zurücksetzen

Heute bat mich jemand darum, eine neue Datenbank anzulegen. Doch fehlte mir das Root-Passwort, um einen neuen Benutzer + Datenbank anzulegen. Das Problem ließ sich jedoch fixen ;)

Vorbereitung

Zunächst müssen wir einige Vorbereitungen treffen. Legt eine Datei in

/var/lib/mysql/

an. Danach müssen wir der Datei noch dem entsprechenden Benutzer zuweisen, damit mysql die lesen kann.

chown mysql:mysql /var/lib/mysql/datei.txt

In die Datei kommen dann folgende Zeilen:

1
2
CREATE USER 'root'@'localhost' IDENTIFIED BY 'neuespw';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'neuespw' WITH GRANT OPTION;

Diese Datei speichern wir nun ab.

MySQL Passwort zurücksetzen

Nun müssen wir den laufenden MySQL-Server zunächst stoppen.

/etc/init.d/mysqld stop

Wir starten nun im Safe-Modus den MySQL Server:

mysqld_safe --init-file=/var/lib/mysql/datei.txt

Der MySQL Server startet nun, und führt die in der Datei steckenden Befehle aus.

Feinschliff

Nun sollten wir uns wieder mit dem root-Benutzer einloggen können.

mysql -u root -p

Jetzt sollte man nur noch das Passwort ändern, und die angelegte Datei entfernen.

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('ganzneuespw');

Danach aus der MySQL-Shell ausloggen.

mysql> exit;

Nun löschen wir die angelegte Datei und starten den Server neu.

rm /var/lib/mysql/datei.txt
/etc/init.d/mysqld restart

Fazit

Nun könnt ihr wieder ganz normal mit dem Root-Account Benutzer anlegen, Datenbanken erstellen, und weitere Datenbanoperationen ausführen.

Gruß

gehaxelt

Linux

« Awesome Widgets updaten 5. Platz beim RuCTF »