Datenbank-Server

ID #1203 MySQL: Root-Passwort vergessen

Problem:

Man hat das MySQL-Root-Passwort vergessen. Vorrausgesetzt es existiert ein root-User für MySQL (siehe Plesk: Admin-Passwort verloren) und es steht nicht in der Datei ~/.my.cnf (wo es eigentlich auch nicht stehen sollte).

1.Lösung (eine Shell):

Hier wird der Weg über eine MySQL-Initialisierungs-Datei gegangen:

/etc/init.d/mysql stop
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');" >~/setrootpassword.sql
mysqld_safe --init-file=~/setrootpassword.sql
#[ctrl]+[c]
/etc/init.d/mysql start
rm -f ~/setrootpassword.sql

PS: Falls mal alle User weg sein sollten, kann man natürlich auch einen neuen root-User anlegen. Statt SET PASSWORD ... muss dann folgender SQL-Befehl gesetzt werden:

GRANT ALL PRIVILEGES TO root@localhost IDENTIFIED BY 'MyNewPassword';

Selber Weg mit zwei Shells:

Erste Shell:

/etc/init.d/mysql stop
/usr/bin/mysqld --skip-networking --skip-grant-tables

Zweite Shell:

mysqladmin -u root password "NEUESPW"

Wieder erste Shell:

#[ctrl]+[c]
/etc/init.d/mysql start

2.Lösung:

Diese wird als nicht so sicher angesehen, da das Passwort später in der MySQL-History sichtbar ist. Dies werden wir hier aber danach löschen.

Editier die my.cnf (/etc/my.cnf oder Debian: /etc/mysql/my.cnf) und schreibe in die [mysqld]-Sektion:
skip-grant-tables

/etc/init.d/mysql restart
mysql -uroot
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
exit
# "skip-grant-tables" wieder aus der my.cnf rausnehmen
/etc/init.d/mysql restart

Um das Passwort aus der MySQL-History zu löschen, öffnet man die Datei ~/.mysql_history im Editor, sucht nach der o.g. Zeile und löscht diese.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, 2007-01-09 10:19     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.38 von 5 (13 Bewertungen)

Artikel kommentieren

Kommentar von Joerg Pirnack (2010-02-10 14:58:17):
Da für mich MySQL leider immer noch ein Ding mit sieben Siegeln ist, mir allerdings die Sache mit dem vergessen auch schon passiert ist, ist dieser Beitrag höchst interessant für mich gewesen. Man muß sich als Admin doch mehr damit auseinandersetzen ;-)

Kommentar von Kai (2010-03-27 15:47:53):
Vielleicht eine dumme Frage, aber wo finde ich denn die Datei ~/ mysql_history ?