Я поддерживаю сервер MySQL. Есть один пользователь, размер базы данных которого очень быстро вырос. Поскольку он использует InnoDB, файл / data / mysql / ibdata1 вырос из частей. Я мог бы смонтировать небольшой раздел и поместить туда его базу данных, но файл ibdata1, похоже, используется для всех баз данных.
Что меня беспокоит, так это то, как ограничить конкретному пользователю использование большего пространства базы данных, чем определено для него.
Нет готового решения. Но вы можете сделать следующее:
data_length
и index_length
для таблиц, которыми владеет пользователь show table status
(Это объем пространства, которое файлы данных используют в файловой системе)Но имейте в виду, что удаление данных из таблиц InnoDB не освобождает место в файловой системе. Так что если ваш пользователь достиг лимита, он ничего не может с этим поделать. (За исключением сброса всех таблиц InnoDB, их удаления и повторного импорта)