Поскольку MySql не имеет встроенного инструмента квот, мне интересно, как крупные компании, такие как Daddy, Gator и другие, управляют своими ограничениями для пользователей?
Я думал о том, чтобы использовать какой-то скрипт, чтобы проверить, превышает ли db определенный размер, но если кто-то импортирует огромную вещь, что тогда? Есть ли ограничения на размер импортированного дампа?
Обычно это один из двух способов:
1) Ограничьте дисковое пространство с помощью квоты файловой системы для папки, в которой размещен файл базы данных. Это легко сделать с помощью /home
каталоги для каждого пользователя и символические ссылки на то, где MySQL ищет файлы базы данных.
2) Каждые x минут запускается cron-скрипт, который проверяет размеры таблиц и отменяет операторы CREATE / INSERT для баз данных сверх лимита.
Второй метод не предотвратит краткосрочные злоупотребления, но вы можете свести к минимуму воздействие, обеспечив достаточно свободного места и используя политики, препятствующие злоупотреблениям.