Hallo,
ich habe ein kleines Problem mit MySQL. Führt man den Befehl "show databases;" aus, so werden einem alle Datenbanken (auch die, auf die man keine Zugriffsrechte hat) angezeigt. Der Zugriff auf Datenbanken funktioniert glücklicherweise aber nur, wenn man die entsprechenden Berechtigungen hat.
Woran kann es liegen, dass alle Datenbanken angezeigt werden?
Danke im Vorraus!
Jan
MySQL zeigt allen Usern alle Datenbanken
Re: MySQL zeigt allen Usern alle Datenbanken
Hallo,
ich vermute dass Du für die entsprechenden Nutzer in der Datenbank "mysql", Relation "user" das Feld "show_db_priv" auf "N" setzen musst, nach einem "flush privileges" sollte es funktionieren.
Bye,
Jörg
ich vermute dass Du für die entsprechenden Nutzer in der Datenbank "mysql", Relation "user" das Feld "show_db_priv" auf "N" setzen musst, nach einem "flush privileges" sollte es funktionieren.
Bye,
Jörg
-
- Posts: 774
- Joined: 2004-04-26 15:57
Re: MySQL zeigt allen Usern alle Datenbanken
Wenn du von einer alten Version geupdatet hast, wirst du diese Tabelle nicht finden. Das Problem hatte ich auch, mach ein mysql_fix_privilege_tables <rootpw> und wenn es durchgelaufen ist , ist diese Tabelle vorhanden mit Option N. Sollten die anderen User trotzdem andere Datenbanken sehen, musst du folgedens machen:
Und das für jeden User. War nach dem Update von Woody auf Sarge recht nervig bei mir, aber das ist nur einmal zu machen.
Btw.: Ein einfaches Flush Privileges hat bei mir damals nicht geholfen, warum auch immer. Ich musste 30 Benutzer einzeln abändern. Versuch es aber auf jeden Fall.
Code: Select all
REVOKE ALL PRIVILEGES ON * . * FROM '<benutzername>'@'localhost';
REVOKE GRANT OPTION ON * . * FROM '<benutzername>'@ 'localhost';
GRANT USAGE ON * . * TO '<benutzername>'@ 'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
Btw.: Ein einfaches Flush Privileges hat bei mir damals nicht geholfen, warum auch immer. Ich musste 30 Benutzer einzeln abändern. Versuch es aber auf jeden Fall.
Re: MySQL zeigt allen Usern alle Datenbanken
Sieht so aus, als ob bei mir nur die Aufwendige Methode nützen kann. Werde ich mal ausprobieren, ob es tatsächlich geht. Ansonsten schonmal Danke für die Hinweise.
Und es ist wirklich nicht möglich, die Befehle für alle Benutzer auf einmal auszuführen?
Und es ist wirklich nicht möglich, die Befehle für alle Benutzer auf einmal auszuführen?
-
- Posts: 774
- Joined: 2004-04-26 15:57
Re: MySQL zeigt allen Usern alle Datenbanken
Ne, Wildcards haben bei mir nicht geholfen. Ausserdem würdest du dem root-user damit auch alle Rechte entziehen.
Re: MySQL zeigt allen Usern alle Datenbanken
An den root-User hatte ich natürlich nicht gedacht. Käme wohl nicht gut, wenn ich mir selbst alle Rechte entziehe.
Hab das ganze jetzt mal an einem User ausprobiert und es geht.
Danke für die Hilfe!
Hab das ganze jetzt mal an einem User ausprobiert und es geht.
Danke für die Hilfe!