Подобные вопросы задавались и раньше, например вот этот, но ни один из ответов, которые я до сих пор видел, действительно не говорит мне, что мне нужно.
Мне необходимо настроить Linux-систему для внутренней разработки и тестирования, для чего потребуется несколько учетных записей пользователей. Каждая учетная запись должна быть ограничена объемом пространства, занимаемого их базами данных MySQL, поскольку тестирование воля пытаюсь сломать вещи, и я хочу ограничить любой нанесенный ущерб.
Я предполагаю, что мне нужно будет настроить один экземпляр MySQL для каждой учетной записи с файлами базы данных в файловом пространстве этой учетной записи и ограничить это квотами. Это правильно, или есть другой способ, который я упустил из виду?
Другой вариант - запустить cronjob или демон, который отслеживает размеры базы данных и затем отменяет права вставки и обновления, когда они достигают указанного размера. Одним из таких инструментов является MySQL Quota Daemon.
Вы правы - в MySQL нет встроенной поддержки квот.
Имейте в виду, что при использовании дисковых квот для достижения вашей цели, когда у пользователя заканчивается пространство, MySQL может буферизовать операторы, которые не могут быть выполнены. Это может вызвать проблемы со стабильностью сервера. О проблемах целостности данных также сообщали люди, достигавшие предела диска (хотя это, вероятно, не влияет на все движки таблиц).