Reset des MySQL Administrator Passworts
MySQL wird an so vielen Stellen als Backend für diverse Dienste verwendet, dass man u.U. schon mal das Root Passwort vergisst. In diesem kurzen Howto möchte ich beschreiben, wie man als Systemadministrator ein verlorengegangenes MySQL-Root-Passwort (MySQL-Root nicht verwechseln mit System-Root) resetten kann.
Zunächst loggen wir uns als Root ein und stoppen die laufende MySQL-Instanz mittels:
# /etc/init.d/mysql stop
Anschließend starten wir das RDBMS MySQL mit deaktivierter Authentifizierung:
mysqld_safe --skip-grant-tables
Da dieses Kommando als Foreground-Daemon gestartet wird, blockiert es die Konsole. Daher öffnen wir ein weiteres Terminal-Fenster und verbinden uns darin als MySQL-Admin Root mit der administrativen Datenbank mysql:
# mysql --user=root mysql
Nun setzen wir innerhalb der MySQL-Konsole das neue Passwort für den MySQL-Admin Root, laden dieses neu und verlassen die MySQL-Konsole mittels:
mysql> update user set Password=PASSWORD('MeinNeuesMySQLPasswort') where user='root';
mysql> flush privileges;
mysql> quit
Anschließend wechseln wir in das von dem Foreground-Daemon mysqld_safe blockierte Terminal-Fenster, stoppen den Daemon mittels Ctrl + c und starten das RDBMS MySQL neu:
# /etc/init.d/mysql start
Anschließend testen wir die Verbindung als DB-Admin root mit unserer MySQL-DB:
# mysql -u root -p -e 'SELECT "ok"'
Als Ergebnis sollten wir zwei Zeilen mit dem Wert 'ok’ erhalten:
+----+
| ok |
+----+
| ok |
+----+
