Сен 242013
 

Очистка mysql binlog (бинарный лог mysql)

Для анализа изменений, которые были совершены в базе, в MySQL присутствует замечательный функционал, называемый binlog.
Для этого, в файле my.cnf, нужно вписать строчку

log-bin

Тогда, после перезапуска MySQL, в каталоге с базами (например, /var/lib/mysql или /var/db/mysql), будут создаваться файлы вида mysqld-bin.000001.

Прописываем expire_logs_days=7 в my.cnf
Перезагружаем mysql, затем пишем в консоли mysql

mysql> flush logs;

чтобы очистить логи!

Например есть еще более экстравагантный способ, написать скрипт, который будет запускаться с определенной периодичностью.
Плюс этого метода в том, что можно указать время очистки логов:

#!/bin/sh
echo 'PURGE BINARY LOGS BEFORE NOW() - INTERVAL 30 DAY;' | mysql -u root -pyourrootpassword
Сен 192012
 

MySQL: Файлы mysql-bin.0000 Бинарные логи

Если через время вы обратите внимание на папку MySQL, вы обнаружите, что она выросла до неимоверных размеров.
И это с учетом того, что нагрузка минимальна.

Обратите внимание на файлы mysql-bin.000000 mysql-bin.000001 mysql-bin.000002 и т.д., они могу весить гигабайты.

Это — бинарные лог файлы для организации репликации СУБД.
Если вы используете репликации, то данная функция вам нужна. Но если не используете я советую вам ее выключить.
Для отключения функции, правильно это сделать так:
1. В конфиге MySQL комментируем строку my.cnf
log-bin=mysql-bin
2. И с правами root в mysql выполняем
RESET MASTER;

Благодаря этому оптимизируется работа MySQL, и он работает гораздо быстрее, и вы экономите место на диске.