PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL PW



[MHV]Steff
16-01-2002, 14:44
Ich habe via phpMyAdmin in der DB mysql die Passwörter für root geändert.
Nun klappt überhaupt kein Login mehr, weder bei phpMyAdmin (da kann ich die Config ändern wie ich will) noch direkt von Shell aus (ERROR 1044: Access denied for user: '@localhost')
Wie kann ich das reparieren?

Ich hab mir mal die DB in nem Texteditor angeschaut und das Passwort rausgefischt. Es ist also definitiv richtig.
Die Log sagt: Found invalid password for user: 'root@localhost'; Ignoring user
Found invalid password for user: 'root@localhost'.localdomain; Ignoring user

knorke
17-01-2002, 09:36
howdy,

starte dein mysql mal mit dem befehl mysql -p
dann wird das passwort abgefragt.
grüße
matt

tomes
17-01-2002, 09:52
aber das Problem koennte daran liegen, das die Passwoerter nicht verschluesselt wurden. Es gibt bei phpMyAdmin die Feldoption Password oder so. Wenn du dich jetzt anmelden willst wird dein Passwort verschluesselt, was dann nicht mit dem Eintrag uebereinstimmen kann.
Webmin kann dir helfen oder eine neue default DB installieren.

T;o)Mes

Aenderung:
Webmin hilft nicht ! Gerade mal probiert !

tomes
17-01-2002, 11:37
und so hab ich das mal durch gespielt.
Also in den Sourcen liegt unter scripts ein Shell-Script :mysql_install_db
Falls du die Standard-rpm's installiert hast liegt es unter /usr/bin.
Ersteinmal das alte Verzeichnis mysql sichern., im DB-Verzeichnis.
Danach Script starten und schon hat man ne neue DB mysql
Jetzt die neue in das DB- Verzeichnis kopieren.
Danach phpMyAdmin starten - Achtung es gibt jetzt keine Passwoerter mehr.
Aus der alten alle Passwoerter rausloeschen.
Anschiessend ein dump machen und alles in die neue oder einfach zurueck kopieren.

T;o)Mes

tomes
17-01-2002, 12:59
hab mir mal phpMyAdmin runter geladen.
Hier die Ausgabe von Mysql:
| localhost | tom | 62a8c6d56514015e | nach Eintrag mit Option Password in phpMyAdmin
| localhost | tom | 62a8c6d56514015e | nach aendern auf der Konsole
beides mal das gleiche Password und trotdem kommt man nach dem setzen des Passwords in phpMyAdmin nicht rein:
ERROR 1045: Access denied for user: 'tom@localhost' (Using password: YES)
Kann ich auch nicht erklaeren. Also Password aendern besser immer an der Konsole.

T;o)Mes

Aenderung: Bin ich *d...*!!! :rolleyes:
/etc/init.d/mysql restart und schon klapps ! :D

Martin Ament
17-01-2002, 20:07
Wenn ich das richtig verstanden habe, dann hast du versucht mit phpmyadmin das passwort direkt einzutragen ?

kann es sein, dass du das passwort im klartext in die Datei geschrieben hast ?

wenn dem so ist, dann kann er nie das passwort finden, denn er speichert das eigentlich verschlüsselt ab (aus gutem Grunde) und fragt das dann auch verschlüsselt ab. wenn du das passw nun eingibst, dann prüft er das gegen das verschlüsselte, und das kann nicht gehen.

es gibt eine möglichkeit mysql ohne passwortabfrage zu starten, und dann das passwort in der konsole zu ändern.

martin

[MHV]Steff
18-01-2002, 14:59
Korrekt...
Nun hab ich so ziemlich alles getestet und nichts davon ging.
Zunächt habe ich wie auf mysql.com beschrieben den Daemon gekillt und ihn mit entsprechenden Optionen neu zu starten versucht. Ging nicht, da das Socket angeblich schon belegt war.

Dann hab ich das /usr/bin/mysql_install_db versucht und MySQL restartet, hat auch nicht funktioniert. Selbiges hab ich nochmal probiert, mit dem Unterschied, dass ich MySQL vorher beendet und danach gestartet habe.

MySQL kriege ich jedenfalls nur via /etc/init.d/mysql start gestartet, alles andere verursacht diesen Socketfehler, selbst wenn MySQL nicht im 'Autostart' ist.

netzmeister
18-01-2002, 15:06
Hallo,

... Hast Du auch schön brav FLUSH PRIVILEGES gemacht?

Danach werden die Änderungen nämlich erst übernommem. Nach einem Neustart des mysqld natürlich auch.

Viele Grüsse

Eicke

tomes
18-01-2002, 18:13
auch fein das alte Verzeichnis umbenannt ? Also nicht nur cp -r sondern mv mysql sicher_mysql oder so. Ueberschrieben wird das Verzeichnis nicht. Da koennte ja jeder kommen ;-) !!!
Also bei mir *functs*

T;o)Mes

[MHV]Steff
19-01-2002, 23:06
Das war es...
Nur bekomme ich jetzt überhaupt keine Connection mehr hin:
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql.sock' (111)