Server:MySQL-root-Passwort vergessen und neu setzen/zurücksetzen
Wenn Sie Webhosting-Kunde sind, können Sie Ihr Datenbank-Passwort im Kunden-Menü einsehen bzw. neu setzen.
Diese Anleitung zeigt Ihnen, wie Sie ein vergessenes MySQL-root-Passwort neu setzen können.
Inhaltsverzeichnis
Hinweise
Diese Anleitung geht davon aus,
- dass der MySQL-Server installiert ist und prinzipiell läuft
- dass Sie die Möglichkeit haben, den MySQL-Dienst für kurze Zeit zu stoppen (dies ist zwingend nötig)
- dass Sie auf dem MySQL-Server als root eingeloggt sind (alternativ führen Sie die genannten Befehle via sudo als Benutzer root aus)
Anleitung
Diese Anleitung beschreibt einen Weg über 2 Shells. Es gibt weitere Methoden über eine einzige Shell und mit Hilfe einer initialen SQL-Datei, die dem MySQL-Dienst mitgegeben wird. Diese sind im Ergebnis gleichwertig, teilweise nur komplizierter.
Schritt 1: Stoppen des MySQL-Dienstes
Stoppen Sie den MySQL-Dienstes :
$ /etc/init.d/mysql stop
Schritt 2: Starten eines temporären MySQL-Dienstes ohne Benutzer-/Rechtekontrolle
Starten Sie den MySQL-Dienst manuell mit zwei Zusatzoptionen, die aus Sicherheitsgründen alle Netzwerk-Verbindungen deaktivieren (--skip-networking
) und die Benutzer-/Rechtekontrolle von MySQL deaktiviert (--skip-grant-tables
):
$ mysqld_safe --skip-networking --skip-grant-tables
Sollte mysqld_safe
auf Ihrem System nicht vorhanden sein, versuchen Sie bitte alternativ einfach nur mysqld
.
Schritt 3: Setzen des neuen Passworts
Öffnen Sie eine weitere Shell auf den MySQL-Server und führen Sie die Befehle
$ mysqladmin -u root password "[NEUES_PASSWORT]" $ sync
aus, ersetzen Sie dabei [NEUES_PASSWORT]
durch Ihr neues Passwort. Die Anführungszeichen sollten Sie nicht entfernen, damit auch Passworte mit Sonderzeichen, die in der Shell besondere Bedeutungen haben (z.B. $
oder ?
), korrekt behandelt werden.
Wenn Sie möchten, löschen Sie nun die Bash-Historie via
$ unset HISTFILE
damit das neue Passwort nicht in der Historie auftaucht.
Schließen Sie diese zweite Shell wieder.
Schritt 4: Stoppen des temporären MySQL-Dienstes
Wechseln Sie zur ersten (und nun einzigen) Shell und unterbrechen Sie die Ausführung des manuell gestarteten MySQL-Prozesses via
[strg] + [c]
Schritt 5: Starten des regulären MySQL-Dienstes
Starten Sie nun wieder den regulären MySQL-Dienst:
$ /etc/init.d/mysql start