# mysql: Hilfe beim GRANT-Befehl



## parnassio (7. Januar 2008)

Hallo Leute, 

ich bin neu hier und habe ein Problem. Bei mir laeuft eine mysql-Datenbank (mit apacheserver, phpmyadmin und xampp).

Ich habe fuer diese Datenbank drei Klassensaetze Anmeldungen samt dazugehoerenden Datenbanken generiert und moechte nun fuer eine Testdatenbank test allen diesen Benutzern select-Rechte geben.
Versucht habe ich es mit dem Befehl
GRANT select ON test.* TO PUBLIC;
Ich war der Meinung, dass PUBLIC genau das liefert, was ich haben will. Das klappt aber nicht. Wenn ich mich nicht als root einlogge, sondern als anderer Benutzer, dann sehe ich diese Datenbank immer noch nicht.
Im Protokoll sieht es so aus, als ob ich jetzt einen Benutzer namens PUBLIC habe, der select-Rechte fuer diese Datenbank habe.

Was mache ich falsch?
Ich koennte natuerlich den GRANT-Befehl fuer jeden einzelnen User aufrufen, aber hier handelt es sich um mehr als 100 User. Das muss doch einfacher auch gehen.

Ich bin fuer jede Hilfe dankbar.


----------



## BNG235 (17. Juni 2008)

zwar schon etwas älter aber vll. besteht das Problem ja noch:



soweit ich weiß ist TO PUBLIC eine oracle-spezifische Eigenschaft...

wird also unter mysql nicht funktionieren...

warum brauchst du soviele Datenbank-user?



> Ich koennte natuerlich den GRANT-Befehl fuer jeden einzelnen User aufrufen, aber hier handelt es sich um mehr als 100 User. Das muss doch einfacher auch gehen.




wie wärs mit ner kleinen funktion a la: 

n array gefüllt mit: select name from users
und dann grant select on test.* to array[0], array[1] etc (natürlich mit ner for oder while schleife...)

greez


----------



## parnassio (17. Juni 2008)

Danke, ich wusste gar nicht, dass das oracle spezifisch ist. Dass es nicht bei mysql geht, habe ich gemerkt. Unsere Schueleranmeldungen bei der Datenbank werden so eingerichtet.

Stimmt, so eine kleine Funktion werde ich mit Java schreiben. Momentan ist das Problem wieder nicht aktuell, wird aber im Herbst wieder aktuell.


----------

