[gelöst]mysql altes Passwort-Schema, Login nicht möglich

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Artim
Beiträge: 86
Registriert: 22.11.2019 11:33:28

[gelöst]mysql altes Passwort-Schema, Login nicht möglich

Beitrag von Artim » 09.03.2020 16:08:05

ich befürchte ich habe es geschafft unser MySQL zu zerlegen beim Versuch, ein Backup zu machen.
mariabackup ist irgendwo dran gescheitert. u.a. Too many open files und Allocated tablespace ID 1285 for xxx, old maximum was 0
wollte dann noch mal sicherstellen, dass root auch die richtigen Rechte hat. Eigentlich sollte es alle haben nach GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 'password-hash' WITH GRANT OPTION
Sicherheitshalber wollte ich das neu setzen lassen (indem ich den text kopiert habe, das Passwort entsprechend ersetzt habe und das ende danach weggelassen habe).
Offenbar hat das aber einen neuen Nutzer angelegt mit dem Passwort nach altem Schema. Wir haben also in der user table einmal root@localhost mit Passwort nach altem Schema (Passwort steht im Klatext in der Datenbank) und einmal root@127.0.0.1 nach aktuellem Schema (Passwort steht in gehashter Form in der Tabelle).

Das Problem ist jetzt das zu reparieren. Ich kann eine Instanz von MariaDB starten in der ich ohne Passwort alles anschauen kann (mysqld_safe mysqld_safe --skip-grant-tables &), da sehe ich den entsprechenden Eintrag bei den Nutzern, das Passwort ist im Gegensatz zu den anderen nicht gehasht. Ich kann mich aber nicht anmelden um das zu korrigieren. Daraufhin bekomme ich nur die Antwort Server is running in --secure-auth mode, but 'root'@'localhost' has a password in the old format; please change the password to the new format

Sprich ich suche jetzt nach einem Weg das zu umgehen. Den Secure Auth Modus abzuschalten hat noch nicht geklappt, mit einem anderen Nutzer anmelden, in der mysql Kommandozeile das alte Passwort-Schema für die Instanz zu aktivieren, auf root zu wechseln und dann das Passwort nach neuem Schema zu setzen scheitert bereits am Anmelden mit Access denied for user 'xxx'@'localhost' (using password: YES).

Es kennt nicht zufällig jemand eine Methode dies zu umgehen? z.B. ein anmelden als root@127.0.0.1, da dort ja das Passwort richtig steht
Zuletzt geändert von Artim am 09.03.2020 16:33:58, insgesamt 1-mal geändert.

Artim
Beiträge: 86
Registriert: 22.11.2019 11:33:28

Re: mysql altes Passwort-Schema, Login nicht möglich

Beitrag von Artim » 09.03.2020 16:33:40

ok, das ist jetzt vielleicht ein bisschen peinlich. Die Anleitung mit "mysqld_safe --skip-grant-tables --skip-networking &" funktioniert, allerdings war bei meiner Anleitung der Befehl für das Neusetzen des root-passoworts veraltet, zum anderen fehlte FLUSH PRIVILEGES; als erste Amtshandlung.

Für alle die mal das gleiche Problem haben, diese Anleitung funktioniert tatsächlich: https://www.digitalocean.com/community/ ... t-password

Antworten