max_binlog_size & размер корзины

8

У меня проблема с полным диском

-rw-rw----  1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034
-rw-rw----  1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035
-rw-rw----  1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036
-rw-rw----  1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037
-rw-rw----  1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038
-rw-rw----  1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039
-rw-rw----  1 mysql mysql  356167680 2012-07-07 23:47 mysql-bin.000040

my.cnf:

max_binlog_size = 1073741824
log-bin = mysql-bin
max_relay_log_size = 1G
relay_log_space_limit = 2G

mysql создает файлы mysql-bin.xxxxx, и мой диск переполняется через несколько дней.

Как заставить mysql удалить старые логи?

waza123
источник
3
SET GLOBAL expire_logs_days = 2
waza123

Ответы:

8

В дополнение к настройке expire_logs_daysвы можете немедленно запустить команду для очистки старых журналов:

mysql> PURGE BINARY LOGS TO 'mysql-bin.000039';

Убедитесь, что никакие ведомые устройства не читают журналы, которые вы пытаетесь очистить, иначе вы нарушите репликацию.

См. Справочное руководство по MySQL: двоичные журналы

Гэвин Тоуи
источник
2
незначительное исправление - это expire_logs_days (обратите внимание на «logs» вместо «log») - см. dev.mysql.com/doc/refman/5.5/en/… для более подробной информации
Richlv