предупреждение размера базы
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
предупреждение размера базы
наверняка все знают, на мой взгляд простой, метод проверки размера базы и ограничение пользователей на запись
хотелось бы услышать что либо совершенное
хотелось бы услышать что либо совершенное
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: предупреждение размера базы
пхпмуадмин умеет размер считать, по крону можно скрипт накатать, который будет чекать и лишать пользователя привилегии вносить в базу записи. Или поставить лимит в самом мускуле.
-
- ефрейтор
- Сообщения: 62
- Зарегистрирован: 2008-08-08 10:29:43
Re: предупреждение размера базы
В MySQL есть возможность ограничивать рамер конкретной базы?zg писал(а):пхпмуадмин умеет размер считать, по крону можно скрипт накатать, который будет чекать и лишать пользователя привилегии вносить в базу записи. Или поставить лимит в самом мускуле.
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: предупреждение размера базы
насколько мне известно, нет. В мануале ничего про размер не сказано http://dev.mysql.com/doc/refman/5.1/en/grant.html. Обычно это делается через квоты файловой системы.generik писал(а):В MySQL есть возможность ограничивать рамер конкретной базы?
-
- ефрейтор
- Сообщения: 62
- Зарегистрирован: 2008-08-08 10:29:43
Re: предупреждение размера базы
Да, через квоты я знаю. Но если допустим условие таково что у пользователя есть 5 баз и нужно каждую ограничить в определенный размер. Через системные квоты получится только на все базы общий обьем ограничить.zg писал(а):насколько мне известно, нет. В мануале ничего про размер не сказано http://dev.mysql.com/doc/refman/5.1/en/grant.html. Обычно это делается через квоты файловой системы.generik писал(а):В MySQL есть возможность ограничивать рамер конкретной базы?
В принципе я решил попробовать наваять или найти скрипт который будет чекать обьем базы и в случае превишения указанного лимита снимать права на INSERT с базы.
Поскольку программер с меня никакой буду кумекать

-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: предупреждение размера базы
а что мешает задать квоту на папку с конкретной базой?generik писал(а):Да, через квоты я знаю. Но если допустим условие таково что у пользователя есть 5 баз и нужно каждую ограничить в определенный размер. Через системные квоты получится только на все базы общий обьем ограничить.
самое простое и эффективное решение -)))generik писал(а):В принципе я решил попробовать наваять или найти скрипт который будет чекать обьем базы и в случае превишения указанного лимита снимать права на INSERT с базы.
на баше ваять нежелательно, лучше на шелле, а так смотря чего будет хотеться от скрипта. Если скрипт сложный, то лучше на пхп ваять (или чего знаешь), если не очень, то на sh.generik писал(а):Поскольку программер с меня никакой буду кумекатьНасколько я понял что бы допустим на баше такое ваять нужно использовать циклы?
-
- ефрейтор
- Сообщения: 62
- Зарегистрирован: 2008-08-08 10:29:43
Re: предупреждение размера базы
Чего я знаю?zg писал(а):а что мешает задать квоту на папку с конкретной базой?generik писал(а):Да, через квоты я знаю. Но если допустим условие таково что у пользователя есть 5 баз и нужно каждую ограничить в определенный размер. Через системные квоты получится только на все базы общий обьем ограничить.
У меня в системе есть юзер user1 у него есть 5 баз db1 db2 db3 db4 db5 мне нужно что бы на все его базы был лими по 50 Мб на каждую. Через системные квоты будет нереально.
самое простое и эффективное решение -)))generik писал(а):В принципе я решил попробовать наваять или найти скрипт который будет чекать обьем базы и в случае превишения указанного лимита снимать права на INSERT с базы.
Я так же надеюсь что способ будет нормальный
на баше ваять нежелательно, лучше на шелле, а так смотря чего будет хотеться от скрипта. Если скрипт сложный, то лучше на пхп ваять (или чего знаешь), если не очень, то на sh.generik писал(а):Поскольку программер с меня никакой буду кумекатьНасколько я понял что бы допустим на баше такое ваять нужно использовать циклы?


- Alex Keda
- стреляли...
- Сообщения: 35428
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: предупреждение размера базы
чё за квоты на папку?
я чё-то в UFS упустил чтоле?
я чё-то в UFS упустил чтоле?
Убей их всех! Бог потом рассортирует...
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: предупреждение размера базы
гм... Mounted on - не папки? -))))
Код: Выделить всё
zg# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad4s1a 496M 145M 311M 32% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad4s1d 4.8G 555M 3.9G 12% /root
/dev/ad4s1h 496M 432M 24M 95% /tmp
/dev/ad4s1e 24G 15G 7.2G 68% /usr
/dev/ad4s1f 24G 3.1G 19G 14% /usr/ports
/dev/ad4s1g 496M 265M 191M 58% /var
/dev/ad6s1c 144G 20G 113G 15% /backup
zg#
- Alex Keda
- стреляли...
- Сообщения: 35428
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: предупреждение размера базы
это точки монтирования.
по одной на юзера - поверь, это пеербор
юзеров около сотни
по одной на юзера - поверь, это пеербор
Код: Выделить всё
serv# find . -type d | wc -l
366
serv# pwd
/home2/mysql
serv#
Убей их всех! Бог потом рассортирует...
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: предупреждение размера базы
гм.. чёт я не подумал, муся же пашет от одного юзверя, так что квоты на диск тут не подойдут -))) значит остаётся скриптlissyara писал(а):по одной на юзера - поверь, это пеербор
- Volodymyr
- лейтенант
- Сообщения: 614
- Зарегистрирован: 2008-06-17 16:04:56
- Откуда: Ukraine, Lviv
- Контактная информация:
Re: предупреждение размера базы
Не уверен что угадал с языком, но все же тут довольно понятно. (с) Bahadir Malkoc
Ну или по простому. $total = размер таблицы. Сумма размеров таблиц = размер БД. Если размер БД привысит твой лимит меняешь права пользователя запрещая Инсертить, апдейтить и реплейсить. Если Размер БД станет меньше - опять разрешаеш это делать, ну и желательно письмо какое-то пользователю накатать с тем что произошло. Если не разберешься что и как я и так буду писать панельку для управление квотами БД, могу поделится (PHP).
Все что надо знать.
SHOW TABLE STATUS Syntax
GRANT Syntax
Не лишним может оказаться проверка и оптимизация БД перед определение ее размера.
Код: Выделить всё
<?php
mysql_connect("localhost","root","");
$result = mysql_query("SHOW TABLE STATUS FROM test;");
while($array = mysql_fetch_array($result)) {
$total = $array[Data_length]+$array[Index_length];
echo '
Table: '.$array[Name].'<br />
Data Size: '.$array[Data_length].'<br />
Index Size: '.$array[Index_length].'<br />
Total Size: '.$total.'<br />
Total Rows: '.$array[Rows].'<br />
Average Size Per Row: '.$array[Avg_row_length].'<br /><br />
';
}
?>
Все что надо знать.
SHOW TABLE STATUS Syntax
GRANT Syntax
Не лишним может оказаться проверка и оптимизация БД перед определение ее размера.