| « OpenSSH 5.3 veröffentlicht | Twitter plant Lokation-basierte Daten zu nutzen » |
Tja, manchmal passiert es, dann geht gar nichts mehr. Natürlich immer dann, wenn man es am wenigsten brauchen kann, z.B. unter Zeitdruck etc.
Da es mir vor kurzem passiert ist und ich keine deutschsprachige Erläuterung auf die schnelle gefunden habe, musste es halt in Englisch sein. Da ich mir aber gut vorstellen kann, das in deutscher Sprache eine solche Anleitung hilfreich ist, habe ich die von mir genutzte übersetzt und etwas angepasst:
Aus dem englischen übernommen von http://www.tech-faq.com/reset-mysql-password.shtml
Generell sollte man Sicherstellen, das in der Zwischenzeit niemand mit der MySQL Datenbank arbeiten will, da dessen Arbeit durch die folgenden Schritte gestört werden wird. Ferner sollte man sicherstellen, das die Datenbank von außen auf keinen Fall erreicht werden kann, da die Sicherheitsmechanismen vorübergehend ausgehebelt werden. Sinnvoll ist es daher, erstens die Anleitung vorher komplett zu lesen um später keine Zeit zu verlieren. Zweitens sollte man alle möglichen Sicherheitslücken minimieren, etwa den Server in sinnvoller Weise vom Netz zu nehmen oder die MySQL-Datenbank per Firewall-Regeln vor Zugriffen zu schützen und keine anderen User zum Rechner für die Dauer der Arbeiten zuzulassen. Hier muss aber jeder Admin selber sein Sicherheitsbedürfnis abwägen. Für Fehler in der Anleitung oder Schäden aus der Nutzung dieser Anleitung übernehme ich keine Haftung.
MySQL Passwort wiederherstellen in 5 Schritten:
rcmysql stopDen MySQL-Server-Job mit der Option --skip-grant-tables neu starten.
Auf den zu bearbeitenden Suse Linux-System habe ich den schnellsten Weg gewählt. Der mysqld läuft dort unter dem Benutzerkonto “mysql". Ich habe mich als in zwei root angemeldet und folgende Befehle genutzt:
su mysql
/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --skip-grant-tables
Damit läuft der MySQL-Server mit der gewünschten Option. Möglicherweise aus Sicherheitsgründen noch die Option --skip-networking mit angeben, soweit möglich.
In einer zweiten Terminal-Session dann als Root-Benutzer das Kommando
mysql -u root mysql
gestartet.
Folgende Befehle in MySQL ausgeführt:
UPDATE mysql.user SET Password=PASSWORD('NEUES-PASSWORT') WHERE User='root';
FLUSH PRIVILEGES;
QUIT
Den MySQL Serverprozess aus Schritt 2 beenden, etwa durch STRG-C oder mit dem kill-Befehl und mit
rcmysqld start
den Normalzustand wieder herstellen.
Damit sollte der MySQL Server wieder ganz normal laufen und mit dem neuen Passwort wieder als Root zugänglich sein.
Weitere Webseiten zum Thema:
Trackback-URL (Rechtsklick und Verknüpfungs-/Link-Adresse kopieren)
Der Eintrag hat 7 auf Moderation wartende Feedbacks...