Suche


drucken PDF

Was kann ich tun wenn ich mein SQL-Passwort verloren habe?



Sie müssen MySQL mit der Option --skip-grant-tables neu starten. Mit dieser Option werden für Tabellen keine Rechte mehr gesetzt und jeder kann auf alle Tabellen zugreifen. Dann kann man das root-Passwort schnell ändern und danach MySQL wieder ohne diese Option neu starten.

Verbinden Sie sich per SSH mit Ihrem Server und folgen Sie dieser Anleitung:

- Zuerst wird der MySQL-Server angehalten: # /etc/init.d/mysql stop

- Dann wird der Server ohne Rechteverwaltung neu gestartet: # safe_mysqld --skip-grant-tables &.
Sollten Sie den Fehler Command not found angezeigt bekommen, versuchen Sie es mit # mysqld_safe --skip-grant-tables &.

- Nun verbinden wir uns mit der MySQL-Datenbank als root (ohne Passwort da die Rechteverwaltung deaktiviert wurde):

[root@julien /]# mysql -u root mysql

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is *** to server version: ****

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>


Sie sind nun auf der MySQL-Konsole und können dierekt SQL-Befehle eingeben. Um das Passwort zu ändern tun Sie folgendes:

mysql> UPDATE user SET password=PASSWORD('neues_passwort') WHERE User="root" AND Host="localhost";
mysql> FLUSH PRIVILEGES;


neues_passwort steht für ein neues Passwort Ihrer Wahl; Sie können nun die MySQL-Konsole verlassen:

mysql> q


- Das Passwort ist geändert, wir können nun den MySQL-Server stoppen:# killall mysqld

- Und ihn dann gleich wieder neu starten: # /etc/init.d/mysql start

- Um das neue Passwort zu testen geben Sie folgenden Befehl ein:

[root@julien /]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is *** to server version: ****

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>


Hier finden Sie die offizielle Dokumentation von MySQL zu diesem Thema:

www.mysql.com/doc/en/Resetting_permissions.html