MySQL Root-Passwort zurücksetzten/ändern

Ändern des Root Passworts (wenn man das bisherige kennt)

Auf der Kommandozeile folgenden Befehl ausführen:

mysqladmin --user=root --password=[AltesPasswort] password [NeuesPasswort]

Der Befehl funktioniert auch für jeden anderen MySQL-User bei dem man das Passwort ändern möchte. Einfach statt --user=root dann --user=[Username] verwenden.

Neues Root Passwort setzen

Wenn man das Passwort für den Root-User vergessen hat, gibt es die Möglichkeit, dieses über die Kommandozeile neu zu setzen.

Zuerst muss dafür der bestehende MySQL-Prozess beendet und ein neuer gestartet werden, der keine Passworteingabe mehr benötigt:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &

(Ggf. mit der Tastenkombination [STRG]+[C] aus dem aktuellen Prozess aussteigen.)

Jetzt kann eine Verbindung zum Datenbankserver (ohne Passworteingabe) aufgebaut werden:

mysql -u root

Nachdem wir uns an dem MySQL-Server angemeldet haben, können wir nun das Passwort für den root Nutzer ändern:

USE mysql;
UPDATE USER SET password=PASSWORD('neues-passwort') WHERE USER='root';
FLUSH privileges;

Mit quit können wir die MySQL Konsole wieder beenden.

Jetzt können wir den MySQL Server wieder stoppen und im normalen Modus starten.

/etc/init.d/mysql stop
/etc/init.d/mysql start

Danach können Sie sich mit Ihrem neu gesetzten Passwort anmelden.

root-Passwort setzten mittels SQL-Skript

Es gibt für die Kommandozeile noch eine schnelle Variante, die mit ein paar Befehlen weniger auskommt, aber im Grunde das selbe macht.

Wir stoppen den MySQL-Server wieder und legen eine Datei mit dem SQL-Befehl zum ändern des Passwortes an:

/etc/init.d/mysql stop
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('neues-passwort');" > ~/set_new_root_password.sql

Danach starten wir MySQL und lassen beim Start unsere erstellte Datei einlesen:

mysqld_safe --init-file=~/set_new_root_password.sql

Mit der Tastenkombination [STRG]+[C] aus dem Prozess aussteigen.

Danach kann der Server wieder beenden und im normalen Modus gestartet werden:

/etc/init.d/mysql stop
/etc/init.d/mysql start

Zum Schluss sollte man natürlich die erstellte Datei noch löschen:

rm -f ~/set_new_root_password.sql