Размер схемы MySQL - PullRequest
       11

Размер схемы MySQL

1 голос
/ 13 октября 2009

У меня есть сервер разработки MySQL (только InnoDB) с несколькими пользователями. Каждый пользователь имеет доступ по одной эксклюзивной схеме. Как я могу ограничить размер схемы, чтобы каждый пользователь мог использовать только 1 ГБ (например)?

1 Ответ

2 голосов
/ 13 октября 2009

Сам MySQL не предлагает систему квот. Использование метода, предложенного Джеймсом МакНеллисом, вероятно, сработало бы, однако если InnoDB внезапно достигнет жесткого предела квот, это, безусловно, не принесет пользы стабильности; все файлы данных все еще связаны через системное табличное пространство, от которого невозможно избавиться.

К сожалению, я не вижу практического способа добиться того, чего вы хотите. Если вас беспокоит использование дискового пространства, превышающее предопределенные ограничения, и вы не хотите идти по пути внешних правил квот, я предлагаю придерживаться комбинированных настроек табличного пространства (т. Е. Не innodb_file_per_table) и удалить :autoextend из конфигурации.

Таким образом, вы по-прежнему не будете получать ограничения, специфичные для пользователя или схемы, но, по крайней мере, предотвратите заполнение диска данными, поскольку табличное пространство не будет превышать свой первоначальный размер в этой настройке. С innodb_file_per_table, к сожалению, нет способа настроить каждый из них так, чтобы он остановился на определенном максимальном размере.

Это один из аспектов, который MySQL отличается от других, предположительно, баз данных корпоративного уровня. Не поймите меня неправильно, мы используем InnoDB с большим количеством данных в нескольких тысячах инсталляций, поэтому он, безусловно, оказался готовым к работе. Иногда не хватает только функций управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...