Version complète: sur le forum Webmaster Hub : Création limitée d'une db SQL sous linux
Webmaster Hub > Informatique & Internet > PC-Gyver > Linux, freebsd
oxyd-x
Salut à tous,

voila, j'ai écrit un petit script qui me permet d'ajouter un "compte web" (apache/php/cgi/ftp local & publique/compte mail & ssh) ; jusque là, tout va bien smile.gif

Mais.. car il y a toujours un mais, je voudrais limité la création de la base de données (1 par personne) à une taille fixe, 100Mo.

Comment pourrais-je limiter la base de facon automatique ?

j'utilise (pour créer le compte mySQL) :
CODE
/usr/bin/mysqladmin -u root -p $rootpass create $webaccount_name
/usr/bin/mysql -u root --password=$rootpass mysql <<END_COMMANDS
GRANT ALL PRIVILEGES ON $webaccount_name.* TO "$webaccount_name"@"$webaccount_domain" IDENTIFIED BY '$webaccount_password';
FLUSH PRIVILEGES;
END_COMMANDS


merci; wink.gif
Dan
Salut oxyd-x,

MySql n'offre pas de possibilité de quotas en natif. Il faudra donc te baser sur les quotas Linux ou une approche équivalente.

Par exemple, pour éviter les quotas qui forceraient de changer le groupe des fichiers mysql et présentent d'autres inconvénients (voir en fin de post), tu pourrais créer un script qui serait lancé chaque nuit par le cron.

Ce script ferait simplement un "du -s" sur le répertoire mysql comprenant la base de l'utilisateur, et si le résultat est supérieur à ta limite, tu lances un script sql (ou une commande mysqladmin) pour révoquer les droits de INSERT et UPDATE sur cette base.

Cela permettrait à ton utilisateur d'utiliser les SELECT, ainsi que les DELETE s'il veut/peut faire du ménage.

Cela n'empêchera pas un utilisateur de faire "exploser" la taille de sa base d'un jour à l'autre... mais une fois la taille dépassée tu peux aussi mettre d'autres actions en place, par exemple désactiver le compte en cas de dépassement supérieur à une semaine.

Cela évite aussi les quotas Linux, parce qu'empêcher mysql d'écrire dans les tables n'est pas une bonne idée et risque de donner des bases instables.

Dan
oxyd-x
Salut Dan,

merci pour ces infos, je vais suivre tes conseilles, et travaillé sur script.
Merci encore wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.