MySQL: Anzahl der Datenbanken beschränken

Lord Gurke

Nur echt mit 32 Zähnen
Hallo,

ich bin gerade dabei, einen neuen Entwicklerserver für mich und ein paar Kollegen aufzusetzen.
Dabei bekommt jeder Benutzer seine eigenen Zugangsdaten zum Datenbankserver und soll damit auch die Möglichkeit bekommen, selbst Datenbanken anzulegen. Damit der Server nicht wie der jetzige irgendwann aussieht wie bei den Ludolfs auf'm Schrottplatz, will ich ein bisschen die Einhaltung gewisser Regeln mit sanfter Gewalt erzwingen - dazu gehört auch die maximale Anzahl von Datenbanken, die ein Benutzer anlegen darf.

Dass jeder Benutzer sein Präfix vor der Datenbank hat habe ich ja noch ganz gut vorgeben können (Rechte nur auf die Datenbanken "preafix_%" gesetzt) - aber wie kann ich jetzt MySQL mitteilen, dass doch bitte nur 15 Datenbanken für den Benutzer drin sind? Über die altbekannten Limitierungsfunktionen kann man ja nur die maximale Anzahl Selects oder gleichzeitiger Verbindungen festlegen...

MySQL-Version ist 5.1 unter Debian Squeeze.

Geht das mit MySQL überhaupt?


Vielen Dank und viele Grüße aus dem Tal
Max
 
Danke, sowas hatte ich befürchtet ;)

Vielleicht ist es gerade zu spät oder ich sehe den Wald vor lauter Bäumen nicht...
Wenn ich dem Benutzer Rechte für CREATE gebe (damit er Tabellen erstellen kann), darf er auch wieder Datenbanken erstellen.
Ich nehme an, das liegt an der Wildcard-Berechtigung auf praefix_%, doch bevor ich das jetzt für alle Benutzer und Datenbanken ändere:
Gehe ich recht in der Annahme, dass sich Wildcard-Berechtigungen nicht mit meinem Vorhaben vertragen?
 
Öhm, das war jetzt sicherlich das typische Wald- und Bäume-Problem. Man kann in mySQL problemlos Rechte datenbankspezifisch vergeben. Ungefähr so - genaue Syntax bitte im mySQL-Handbuch nachschlagen.

GRANT privilegien ON `datenbank` TO "user"@"192.168.1.5" IDENTIFIED BY "geheim"

Fazit: Wenn die REchte nur auf DB-Ebene vergeben sind, können mit CREATE nur Tabellen von dem betreffenden User erstellt werden und keine neuen DB. Dem steht auch die Verwendung von Präfix+Wildcard nicht entgegen.
 
Back
Top