Mysql забивает жесткий диск — оптимизируем VPS

Давно заметил, что на моем VPS доступная дисковая память начала кончаться. Какое-то время довольствовался удалением бекапов, но когда загрузка дисковой системы достигла 97% решил разбираться с проблемой.

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

apt-get install ncdu

Сразу после установки запускаем ее и анализируем какой объем занимают наши папки

ncdu /

В моем случае причиной забитого диска была папка /var/lib/mysql, а вернее огромное количество файлов типа mysql-bin.xxxxxx (где xxxxxx — числа вида 000233) в ней.

mysql и жесткий диск

Это, как оказалось, бинарные логи mysql. Их предназначение — репликация БД и восстановление баз в случае сбоя. И, естественно, они постоянно накапливаются и старые нужно удалить. Давайте возложим это на сам mysql.

Для этого открываем конфиг mysql /etc/mysql/my.cnf и добавим в него в секцию [mysqld] одну строчку

expire_logs_days = 14

В этом случае будут храниться логи за последние 14 дней, а старые удаляться.

После этого перезагрузим mysql командой /etc/init.d/mysql restart

В итоге в моем случае папка /var/lib/mysql уменьшилась с 6,6 Гб до 931Мб, т. е. в 7 раз. Очень неплохо!

Меток нет. Похожие записи
Запись опубликована в рубрике Создание сайтов. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>