Mysql (root) Passwort vergessen?!

Hat man mal sein mysql root passwort vergessen, kann dies sehr unpraktisch sein. Es gibt aber eine recht einfache möglichkeit sich wieder zugriff zu verschaffen. Tragt einfach folgendes in die my.cnf euer Mysql ein:

[mysqld]
skip-grant-tables
skip-networking #schaltet das netzwerk ab, ändern geht nur über localhost!

Das skip-networking ist extrem wichtig, ansonsten ist die Datenbank für jeden zugänglich, allerdings muss das nicht reichen. Wenn Ihr lokale user auf der Büchse habt, müsst Ihr beachten, das währen Ihr das macht, die Mysql für jeden ohne Passwort verfügbar ist, der lokal auf der Büchse ist. Also obacht.

Nun started die mysql Datenbank neu. Ihr könnt euch nun mit

mysql -u root

an eurer Datenbank Anmelden, praktischerweise benötigt Ihr nun kein Passwort. Anschließend könnt Ihr das Passwort so neu setzen:

UPDATE mysql.user SET Password=PASSWORD('NeuesPasswort') WHERE User='root';
FLUSH PRIVILEGES; 

Und schon ist alles wieder grün. Mysql neu starten und Passwort merken!

Mysql Backup und Restore

Backup

Hin und wieder kann so ein Backup ja nichts schaden, genauso ist es auch bei Datenbanken. Hier kurz beschrieben wie man einen Dump einer Mysql macht. Diesen kann man natürlich nicht nur als Backup verwenden, sondern auch zum umziehen etc. Zu beachten ist das dies ein Stand ist, und das dumpen ggf. recht viel performance zieht.

mysqldump -A --add-drop-databases --add-drop-tables -u root -p > backup.sql

Dumped die Datenbank. Nach absetzen des Befehls wird man nach dem root-pw gefragt. Istman bei einem Hoster muss man ggf. anstatt des nutzers root einen bestimmten Benutzernamen verwenden.

Restore

Das restore ist auch recht simple, auch wieder nur eine Zeile:

mysql -u root -p < backup.sql