MySQL defekt? User Zugriff auf DB einrichten -> access denied

MySQL defekt? User Zugriff auf DB einrichten -> access denied

am 19.12.2006 18:44:43 von holger

Hallo,

ich habe hier ein sehr seltsames Phänomen....

btw: alle konfigs wurden mit phpmyadmin 2.6.4pl1 durchgeführt.....

bis vor kurzem funktionierte alles mit den folgenden Daten:

User: vhs
Pass: 12345
Host: %
DB: vhs
mit phpMyAdmin habe ich auch die Rechte gesetzt, so dass man nur auf
eine DB zugreifen kann. (d.h. keine globalen Rechte)

Auf einmal (keine Ahnung warum) bekomme ich jetzt: "access denied for
user vhs@host using password =3D yes"

Also: Habe ich nochmals versucht den Benutzer zu löschen und neu
anzulegen. Das klappt laut mysql auch. in der db: user steht der
benutzer korrekt drin....

nur leider klappt es trotdem nicht mehr auf die db vhs zuzugreifen.

dann habe ich probiert einen vorhandenen user zu kopieren und die
rechte zu ändern, dass er zusätzlich auf die db: vhs zugreifen kann.

- funzt wunderbar!

doch wenn ich den usernamen umbenennen will, bzw. dass passwort ändere
geht es nicht!

er nimmt die änderung scheinbar nicht an. ich kann mich dann z.B.
weiterhin mit dem alten usernamen und passwort einloggen. (in der db:
mysql ist auch ein neuer password-hash hinterlegt und der username ist
ebenfalls geändert...)

JA!!! Ich habe FLUSH PRIVILEGES ausgeführt...

kann es sein, dass mysql irgendwie zerschossen ist...?

wie kann ich mysql reparieren...

kann ich z.B. mysql deinstallieren und von der suse cd wieder neu drauf
packen...? bleiben die daten bei der deinstallation bestehen?

btw: ich verwende mysql 4.0.21 unter suse 9.2

Re: MySQL defekt? User Zugriff auf DB einrichten -> access denied

am 20.12.2006 20:20:52 von Dominik Echterbruch

holger wrote:
>
> btw: alle konfigs wurden mit phpmyadmin 2.6.4pl1 durchgeführt.....
[SNIP]
> wie kann ich mysql reparieren...
>
> kann ich z.B. mysql deinstallieren und von der suse cd wieder neu drauf
> packen...? bleiben die daten bei der deinstallation bestehen?

Mal eine grundsätzliche Sache: deinstallieren und reinstallieren mag
unter Windows das Mittel der Wahl sein, aber unter Linux (selbst bei
SuSE) ist es das definitiv nicht. Wenn MySQL tatsächlich ein Problem
hat, sagt dir im Allgemeinen irgend ein Logfile gerne, was denn das
eigentliche Problem ist und gibt dir wertvolle Hinweise, was zu tun ist.

Aber ich glaube ehrlich gesagt nicht, daß da wirklich ein Fehler
passiert, der auf MySQL zurück zu führen wäre. Daher hier mal das oft
zitierte

Vergiss PHPMyAdmin


Das Ding neigt dazu Befehle nicht ganz so an die DB weiterzugeben, wie
man es gerne hätte. Also, nimm dir eine Konsole (am Besten das
Kommadozeilentool mysql) und mach die Benutzeränderungen dort; und zwar
möglichst mit der GRANT Syntax.

Wenn das immer noch schief geht, kannst du mal die Inhalte deiner
Tabellen user und db aus der Datenbank mysql hier posten.

Parallel kannst du mal mit CHECK TABLE (die genaue Syntax verrät dir das
exzellente Handbuch [1]) schauen, ob deine Tabellen vielleicht doch was
abbekommen haben. Wenn ja hilft oft ein REPAIR TABLE. Aber bevor du das
machst, solltest du unbedingt per Backup die Datenbank sichern.

[1] http://dev.mysql.com/doc/

Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal