Passwort vergessen

Wenn das Kennwort für 'root' verloren ging / vergessen wurde und sonst auch keine Adminuser existieren, lassen sich die Kennwörter noch über den folgenden Weg zurücksetzen (getestet unter Debian).

Ist euer MySQL-Server direkt und öffentlich über das Internet erreichbar solltet ihr vorher den Zugriff darauf per iptables-Regel einschränken, da sich anschließend alle User ohne Kennwort einloggen können.

1. MySQL Server stoppen: /etc/init.d/mysql stop

2. in /etc/mysql/my.cnf wird diese Zeile hinzugefügt, damit werden beim Start die Berechtigungstabellen ignoriert und jeder(!) User kann sich ohne Kennwort einloggen.

--skip-grant-tables

3. MySQL Server wieder starten: /etc/init.d/mysql start

4. MySQL Client starten und Kennwörter neu setzen

# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
exit

5. MySQL-Server wieder stoppen

6. „–skip-grant-tables“ wieder aus der my.cnf löschen

7. MySQL-Server wieder starten. Ihr solltet Euch nun mit dem neuen Kennwort einloggen können.

Diskussion

, 19.05.2014 13:54

Hi Daniel,

stimmt! Aber das funktioniert aber leider auch nicht immer, z.B. wenn das MySQL-Verzeichnis von einem anderen Server rüberkopiert wurde. Passiert gelegentlich bei Domainumzügen, wenn der alte Admin faul ist und man keine Kennwörter bekommen hat.

, 04.02.2014 16:31

Bin heute mal auf deine Seite gestossen. Schoene Snippets, doch das geht auch einfacher und ohne den Server zu stoppen :)

In der /etc/mysql/debian.cnf stehen Username und Passwort des debian Systemusers. Mit denen kannst du dich einloggen und das Passwort des Roots aendern.

VG Daniel

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
W B A M K