Gentoo Way Linux, Gentoo, Kubuntu, Ubuntu, Debian … компилируем всё!

10Янв/10Off

Linux — MySQL binary log

MySQL

Основательно занявшись решением вопроса "Куда пропадает свободное место?" с удивлением обнаружил что оно занято файлами mysqld-bin.* в /var/lib/mysql

Это же надо было так проколоться. Сервер работает больше года и и за это время бинарные логи разрослись и заняли 14 гигабайт из 20 гиг выделенных на всю систему (не очень активно MySQL используется) но т.к. всегда было что удалить как-то не особо обращал на это внимание (то сорцы старые удалишь то ещё что-то).

Что можно было бы сделать в данной ситуации:

  • Перенести логи на другой раздел (мне не подходит)
  • Увеличить размер, выделенный под систему (тоже не подходит)
  • Уменьшить суммарный объём логов (самое оно)

Чтобы уменьшить занимаемое логами место можно в файл настроек /etc/mysql/my.cnf добавить следующую конфигурацию:

    expire_logs_days = 5

Вообще не знаю зачем их хранить даже 5 дней, разве что делать репликацию на slave с задержкой до пяти дней...Да и восстаноление из них выглядит как-то сомнительно (хотя тоже имеет место быть).

Также можно удалить старые логи до нужного файла выполнив запрос:

    PURGE BINARY LOGS TO 'mysqld-bin.000123';

А вообще если они не нужны (а не нужны они в 99% на единичном сервере) то их можно отключить (в /etc/mysql/my.cnf):

#log-bin