if you use the directory quota method and InnoDB's
option in 4.1.9, I would be interested to hear the results. If the space
runs out in a database directory, then INSERTs etc. in that database should
fail with the error 'Table is full' and the SQL statement should be rolled
back. I do not think it will make other databases useless.
Foreign keys, transactions, and row level locking for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
----- Original Message -----
From: ""Iavor Stoev"" <dailydave@stripped>
Sent: Thursday, January 20, 2005 6:48 PM
Subject: MySQL quota problem
> Content-Type: text/plain;
> Content-Transfer-Encoding: quoted-printable
> I have trouble with setting mysql database quota per user at my server.
> I`m using MySQL 4.0.22 on Linux with kernel 2.4.29.=20
> I`m using group quota on my server and all user`s files, mails and =
> databases are with group $user (user`s mysql database directory is with =
> setgid bit enabled to apply the group id to the new crated tables also).
> The problem is that when some user exceeds his quota the MySQL server =
> "dies" for all users with:
> "Disk is full writing. Waiting for someone to free space... Retry in 60 =
> secs" =20
> I suppose that this behaivior is caused, because the thread is waiting =
> for free space, and when someone tries to write again to the same =
> database, a very common example is some buletin board; a new thread is =
> started that waits again, etc until the max threads are full and the =
> MySQL server does nothing until it is restarted or the quota for the =
> problem database is increased.
> Can anyone tell me is there a working solution for MySQL quota per =
> database or a patch to return disk exceed error and not wait ?=20
> Because in my case the MySQL can`t write only to one database, all other =
> hundreds of databases are operational, but server dies for all ...
> Thank You=20
> Iavor Stoev=20