Добрый день. Возникла следующая проблема. На диске в разделе /usr/mysql достаточно быстро закончилось свободное место. В директории mysql есть множество файлов mysql-bin.000XX с размером 1024 М. Размер диска 80 Гб, заполнился за 1,5 месяца, мониторится хостов около 1000, мониторятся только по icmp. Мysql-front определяет размер базы zabbix - 5 Гб. Подскажите, как можно сжать или очистить данные файлы?
Ad Widget
Collapse
Проблема с Mysql
Collapse
X
-
Это бинарные логи, нужны для восстановления базы до текущего состояния или репликации данных между серверами (после полного Backup или когда все сервера в состоянии in sync не нужны).
Команды
FLUSH LOGS; переключения bin-log
Удалить логи
PURGE MASTER LOGS TO 'mail-bin.000006';
Хорошей идеей является удалять двоичные протоколы, которые уже никогда не понадобятся, т.е. после создания полной резервной копии:
mysqldump --single-transaction --flush-logs
--delete-master-logs --master-data=2
--all-databases
> backup_sunday_1_PM.sqlLast edited by dima_dm; 09-02-2010, 10:40. -
Спасибо, Дмитрий за ответ. Подскажите как эти логи могут помочь при восстановлении, репликации я не использую. Бэкап делаю так:
system ("/usr/bin/nice -n 19 /usr/local/bin/mysqldump --single-transaction -q -u $user_db --password=$password_db --tab=$db_name $db_name
$tables > /dev/null");
Если репликация не используется я так понимаю можно логи (mysql-bin) отключить в my.cnf ?Comment
-
Восстанавливаем базу из последнего Backup
Потом накатываем изменения
mysqlbinlog gbichot2-bin.007 | mysql
mysqlbinlog gbichot2-bin.008 | mysql
...
Поищите, в интернете много статей на эту тему.
Плюс в том, что binlog это текстовые команды MySQL, если кто-то по криворукости, например, удалил базу можно найти эту строчку и закомментировать при восстановлении.Comment
Comment