mal wieder ein Eintrag als Gedächtnisstütze.
So lässt sich das MySQL-Root-Kennwort auch ohne dessen Kenntnis ändern:
-
zuerst sollte man den MySQL-Server stoppen:
CODE:
/etc/init.d/mysql stop
sollte dies nicht funktionieren kann man mit kill etwas nachhelfen, allerdings ist hierbei Datenverlust nicht ganz ausgeschlossen, vor allem wenn man es auf brachiale Weise mit -s 9 erledigt.
-
nun startet man den Server-Process mit dem Argument --skip-grant-tables:
CODE:
/usr/bin/mysqld_safe --skip-grant-tables &
Das & sorgt i.Ü. dafür, dass der Server-Prozess im Hintergrund ausgeführt wird und man weitere Kommandos eingeben kann.
-
als nächstes startet man nun den Client:
CODE:
mysql
und wechselt in die Datenbank mysql:
CODE:
use mysql;
-
nun kann man das Kennwort ändern, indem man den Datensatz in der Tabelle user bearbeitet:
CODE:
UPDATE user SET password=password('neues Kennwort') WHERE user='root' and host='localhost';
hat man mehrere Einträge für den ROOT-User, was bei Hetzner-Standard-Installationen der Fall ist, so lässt
man den host-Vergleich einfach weg:
CODE:
UPDATE user SET password=password('neues Kennwort') WHERE user='root';
-
nun stellen wir noch sicher, dass die neuen Rechte bzw. Kennwörter auch wirklich übernommen werden:
CODE:
FLUSH PRIVILEGES;
-
zum Abschluss den Client beenden und den MySQL-Server in der Konsole neu starten:
CODE:
/etc/init.d/mysql stop
/etc/init.d/mysql start
nun kann man sich mit dem neuen Kennwort als root-User wieder einloggen.