Hinweis:
Bevor Sie diese Anleitung nutzen, informieren Sie sich bitte gründlich über dessen Wirkung !
Sollten Sie keine tieferen Kenntnisse in der mySQL-Datenbankserver-Administration/-verwaltung haben, fragen Sie bitte Ihren Administrator oder einen IT Fachmann. Bitte vertrauen Sie nicht auf den Tipp Ihres Kollegen, der "ein wenig Ahnung" von der EDV hat. Diese Anleitung kann bei falscher Anwendung oder anderen Einstellungen oder Versionen einen Datenbankzugriff gänzlich unmöglich machen !
Wenn Sie dann z.Bsp. keine Datensicherung haben oder die veränderte Datei nicht (wie in der Anleitung als Beispiel vorgeschlagen) gesichert haben, ist eine Wiederherstellung aufwändig bis unmöglich.
Wenn Sie Ihr root Passwort für Ihren mySQL Datenbankserver verloren haben, sind schnell alle Daten in Gefahr, denn ein vollberechtigter Zugriff mit allen Rechten (den "root" Rechten) ist nicht mehr möglich.
Wir bieten Ihnen auch mySQL-Bordmittel zu Lösung an:
Sollten Sie jedoch einen schnellen, einfachen und vergleichsweise unkomplizierten Weg suchen, dann hilft Ihnen diese Anleitung weiter.
Reset root Passwort
Hier führen wir das Zurücksetzen des Passwortes auf einem Linux-mySQL-Server vor. Dabei sind die üblichen Pfade verwendet, welche Sie ggf. für Ihre Installation anpassen müssen:
- Greifen Sie mit root (administrativen) Rechten auf den Datenbankserver zu
- Stoppen Sie den mySQL Server:
/etc/init.d/mysql stop
- Kopieren Sie zur Sicherheit die im folgenden veränderte Datei:
cp /var/lib/mysql/mysql/user.MYD /root/user.MYD.backup
Sollte während / nach dem Password-Reset ein Fehler auftreten, können Sie diese Datei (wieder bei gestopptem Server) zurück kopieren. Bitte diesen Befehl nicht jetzt ausführen, er dient nur zur Wiederherstellung:
cp /root/user.MYD.backup /var/lib/mysql/mysql/user.MYD
- Öffnen Sie die Datei im Editor (hier: "nano")
nano /var/lib/mysql/mysql/user.MYD
- Im rot markierten Bereich finden Sie das aktuelle Passwort für den Benutzer "root@localhost",
im gelb markierten Bereich finden Sie den entsprechenden Benutzernamen: - Ersetzen Sie nun exakt die rot markierten Zeichen (welche hoffentlich bei Ihnen anders lauten) durch die folgenden Zeichen. Dabei sind beide Zeichenketten gleich lang:
*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29
Damit setzen Sie das Passwort für "root@localhost" auf "xxx" (3 kleine X)
- Speichern und beenden Sie nano durch Drücken von "Strg + X".
Beantworten Sie die Speicher-Rückfrage bitte mit "J" (Ja) ... - Starten Sie den mySQL Server wieder:
/etc/init.d/mysql start
Wahrscheinlich erhalten Sie eine kurze Warnmeldung:
- Melden Sie sich nun lokal als "root" mit dem Passwort "xxx" an
- Bitte ändern Sie so schnell wie möglich das root Passwort wieder auf ein neues, geheimes Kennwort:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('geheimesPasswort');
Andere Benutzer-Passwörter (user passwords)
Die gerade vorgestellte Methode können Sie auch für alle anderen in der Datei "mysql.MYD" gespeicherten Passwörter benutzen. Suchen Sie dafür in der Datei die entsprechende Position für den Benutzernamen und den Host (sh. gelbe Markierungen in der o.a. Anleitung) und passen Sie die direkt auf diesen Bereich folgende Zeichenkette aus. Dabei müssen Sie (wichtig !) auf die Einhaltung der gleichen Länge der Zeichenketten achten.