Sven Rautenberg: DDL-Berechtigungen beim Provider

Beitrag lesen

Moin!

Meine Frage: Ist das normal, daß man keine DB anlegen darf?
Kommt auf das Paket an, bei gewöhnlichen Hosting-Paketen ist das nicht "normal". Und das steht vermutlich auch in der Beschreibung des von Dir genutzten Angebotes.

Du wolltest sagen "ist das normal" - ohne "nicht". Oder?

Wenn man es mal genau betrachtet, ist die Zahl der Datenbanken, die man kriegt, eigentlich sowieso egal. Das sind bei MySQL ja sowieso nur Unterverzeichnisse auf der Festplatte, und von denen könnte man eigentlich beliebig viele haben.

Naja, so beliebig dann doch nicht, weil riesiger Verzeichnisse die Performance auch negativ beeinflussen, und wenn ein Kunde eine Million Datenbanken anlegt, wäre das ärgerlich für alle anderen Kunden. Sofern MySQL dann nicht sowieso komplett abdreht, zumindest performancemäßig.

Die Einteilung in verschiedene Datenbanken hat primär administrative Gründe. Die Datenbank hat schließlich auch Useraccounts, die sie verwaltet, und die Zugriffsrechte eines Users lassen sich sehr fein unterteilt angeben. So gibt es beispielsweise auch hier einen oder mehrere "root"-Accounts, die global auf allen Datenbanken alle Rechte haben.

Man kann einem Account aber auch nur eine einzige (oder eben mehrere definierte) Datenbank freischalten. Man kann auch nur eine einzige (oder mehrere) Tabelle in einer DB freischalten. Oder sogar nur eine einzige Spalte in einer Tabelle, wenn das sein muß.

Solche fein ausgearbeiteten Zugriffsrechte werden üblicherweise aber nicht ausgenutzt. Meist gibt es je Datenbank für den Kunden einen Account, mit dem er in der DB beliebig Tabellen anlegen und wieder löschen kann, und auch sonst alle möglichen Zugriffsrechte besitzt, und vielleicht gibt es für den Kunden noch einen zweiten Account, der nur Lese-Rechte auf die DB besitzt bzw. je nach Provider und Kundenwunsch irgendwie anders eingeschränkt ist. Alles im Interesse der Sicherheit, denn es kann ja immer mal sein, dass entweder ein wildgewordenes Skript, ein wildgewordener Mitarbeiter oder ein Cracker Zugriff auf die DB erlangen können und versuchen, zu löschen. Da wäre es doch irgendwie gut, wenn die an der DB keinen wirklichen Schaden anrichten könnten, weil der ihnen bekannte Account die entsprechenden Rechte nicht hat.

Wenn Du frei Datenbanken anlegen können willst, brauchst Du vermutlich einen eigenen "managed Server".

Ich sehe die Notwendigkeit für "beliebig viele Datenbanken" nicht unbedingt. Es reicht vollkommen aus, wenn man "beliebig viele Tabellen" anlegen kann. Allerdings muß man dann natürlich Namenskonflikte ausschließen, denn was vorher in zwei Datenbanken gleich heißen durfte, darf das bei nur einer Datenbank natürlich nicht mehr.

- Sven Rautenberg

--
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)