I am meanwhile looking for solutions to quota management for Mysql. I do understand that quota management is not natively available in Mysql at the moment. Hence my rough approach to this problem is implementing native filesystem limit on block device size.
The implemention is to be done on Amazon EC2 and hence it is relatively inexpensive and easy to create as many EBS necessary and allocate each device to individual users. As each user would have only 1 database at most, hence quota control would be straight forward.
My first thought would be to use InnoDB for the tables as I understand these tables are stored in tablespaces which are preallocated as files, but unfortunately all InnoDB tables will be stored under one big shared tablespace unless “innodb_file_per_table” is used where autoextend ibd files are created in their own dedicated database directory instead. Hence the file will grow and eventually reach the limit of the device that is dedicated to it.
The problem while testing out this concept, the file grew until no space is available and eventually the database just crashed.
Is this the normal behaviour ? Should commit just rollback in the event there is no space available to add rows into the table ? I’m currently testing out on MYSQL DB “5.1.49-1ubuntu8.1”
Can anyone please advice ?