Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: Maks от 25 Апреля 2010, 10:42:14



Название: Мало места в var (var раздел 40Гб)
Отправлено: Maks от 25 Апреля 2010, 10:42:14
Я По смотрел что больше всего файл mysql-bin.000134
И остальные файлы на подобии которые лежит в /var/db/mysql
Такие файлы занимают 25 ГБ всего раздела.
База bill занимает 4,5 ГБ.
подскажите что это за файлы, mysql-bin и можно ли их удалять?
Или что можно удалить? Был переполнен раздел, удалил все логи, бекапы, освободилось около 1,5ГБ. Но этого мало.
Перенести на другой раздел не предлагать, т.к винт всего на 80... а точнее около 72. так что var раздел самый большой.

P.S В инете вычитал что это файлы репликации которые помогают востановить базу после сбоя электро питания, т.д.
Но как правельно их удалить я не нашел. Подскажите команду  ::)
Или можно просто убивать через mc, но там у меня 200 файлов. по  одному не интересно.


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Maks от 25 Апреля 2010, 10:59:26
Отвечаю сам. (если не прав поправите)
mysql-bin файлы репликации которые помогают востановить базу после сбоя электро питания, т.д.
выходит их можно смело удалить, после того как сделали проверку базы.
Удалять так

localhost# mysql -p
Enter password:  (по умолчанию hardpass)

mysql> PURGE MASTER LOGS TO 'mysql-bin.000200';  

 (где "0000200" - номер последнего файла или до какого желаешь удалить.)

Query OK, 0 rows affected (0.04 sec)

mysql>  

Все. оставил файлы с 200 до 204 на всякий случай.

Было  /dev/ad0s1d     39G     34G    1.6G    95%    /var
Стало /dev/ad0s1d     39G     10G     25G    29%    /var


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: ser970 от 25 Апреля 2010, 11:51:54
логироване можно вообще отключить
все равно каждые  сутки идет бекап базы - можно на флеш и/или на другой сервер.
в большенстве случев достаточно repair  и fsck

хотя упсы ставить надо.


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: versus от 25 Апреля 2010, 12:33:22
Все от того что кто-то не читает документацию по установке нодени.
Цитировать
В конфиге mysql дополнительной БД закомментируйте строку:
log-bin=
что отключит ведение логов всех запросов. К сожалению, по опыту автора, не всегда бинарный лог отключается таким способом, поэтому приходится вставлять в конфиг дополнительную директиву:
binlog-ignore-db=bill

Читайте доки, они рулез!


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Maks от 25 Апреля 2010, 13:14:26
Читаем читаем.. Все по докам )
А если отключить логирование и произойдет сбой по питанию, базу командой
Код:
mysqlcheck -repair -p -u bill_kernel bill

можно будет восстановить?


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Efendy от 25 Апреля 2010, 14:30:18
бинарные логи в основном юзаются для репликации, по идее можно  и для восстановления базы и это будет даже лучше  бекапов т.к. бекапы - это срез данных на определенный момент времени, а лог - на самый последний. Другой вопрос, что я никогда не пробовал их юзать в такой ситуации. Может у кого-нить есть такой опыт?


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: versus от 25 Апреля 2010, 15:04:38
Читаем читаем.. Все по докам )
А если отключить логирование и произойдет сбой по питанию, базу командой
Код:
mysqlcheck -repair -p -u bill_kernel bill

можно будет восстановить?

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


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Maks от 25 Апреля 2010, 18:34:12
Большое спасибо за завернутые ответы.


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: evp от 26 Апреля 2010, 00:59:06
Команда репейр не анализирует лог файлы сервера, она анализирует схему, данные и при проблемах пытается решить их средствами субд. Для того тчо бы востановить данные с бинарных логов, надо иметь бэкап который находится в пределах лога. И запустить лог с момента последенего бэкапа, иначе у вас пойдут запросы, которые делал сервер до бэкапа, что нарушит целостность данных.
И как по Вашему мнению это надо делать? Буду благодарен за подробный ответ (примеры команд etc.).


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: goletsa от 26 Апреля 2010, 03:35:38
Кстати крах файлов при отрубаниии питала означает еще что ваши файлы с логами тоже могут побиться. В общем они в основном для репликации могут использоваться  да и все...


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: versus от 26 Апреля 2010, 13:12:46
И как по Вашему мнению это надо делать? Буду благодарен за подробный ответ (примеры команд etc.).

Все просто, перед бэкапом залочить на запись таблицы основных баз данных,  с помощью комнады SHOW MASTER STATUS; узнать какой файл бинлогов сейчас используется и какое смещение, записать. Сделать бэкап. разлочить базы

mysql> lock tables bill.* write;

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |    17273 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> UNLOCK TABLES;

При крахе данных  залить бэкап. и потом

mysqlbinlog --offset=17273  mysql-bin.000001 | mysql -u root -p
Затем добить остальные логи до текущего состояния

Ну а вобще все описано достаточно подробно в документации к мускулу.


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: evp от 26 Апреля 2010, 16:56:10
Спасибо за подробный ответ


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Elisium от 28 Апреля 2010, 02:02:43
Кстати крах файлов при отрубаниии питала означает еще что ваши файлы с логами тоже могут побиться. В общем они в основном для репликации могут использоваться  да и все...


[offtop]
Дето тут уже писАлось, что СВЯЗКА gmirror + gjournal спасут отца русской демократии.
В том числе и от отрубания питалова. Даже несколько раз подряд. А рут раздел реад-онли так вообще обязаловка.
[/offtop]


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: Unix от 29 Августа 2011, 11:32:08
А кто подскажет как сделать make install мускула так что бы он установился не в /var а в другую директорию ?


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: VitalVas от 29 Августа 2011, 12:42:53
А кто подскажет как сделать make install мускула так что бы он установился не в /var а в другую директорию ?
use the f**ng man mozg


grep 'dbdir=' /usr/local/etc/rc.d/mysql-server
: ${mysql_dbdir="/var/db/mysql"}


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: elite от 29 Августа 2011, 23:15:49
[offtop]
Дето тут уже писАлось, что СВЯЗКА gmirror + gjournal спасут отца русской демократии.
В том числе и от отрубания питалова. Даже несколько раз подряд. А рут раздел реад-онли так вообще обязаловка.
[/offtop]
zfs спасет мир :)


Название: Re: Мало места в var (var раздел 40Гб)
Отправлено: VitalVas от 30 Августа 2011, 14:20:18
[offtop]
Дето тут уже писАлось, что СВЯЗКА gmirror + gjournal спасут отца русской демократии.
В том числе и от отрубания питалова. Даже несколько раз подряд. А рут раздел реад-онли так вообще обязаловка.
[/offtop]
zfs спасет мир :)
[offtop]
спасет упс-ка с грамотным прокручиванием к серверу (ну может еще и дизелька)
[/offtop]