Назад | Перейти на главную страницу

MySQL создает огромные файлы каждую ночь, в результате чего сервер выходит из строя

У меня есть сервер LEMP Ubuntu 12.04 с приложением магазина наверху, на котором запущен MySQL 5.5 в качестве БД (в настоящее время с момента появления этой проблемы я уже безуспешно переключился на Percona).

Итак, текущие факты: каждую ночь мой мониторинг говорит мне, что сервер не отвечает. Точное время варьируется. Он может быть отключен на несколько минут или даже пару часов. Он может начинаться примерно в час ночи или в любое другое время до 5. Munin and atop показывает, что в это время iowait забирает все ресурсы, используемое дисковое пространство постепенно увеличивается на ~ 2 ГБ. Даже занимая все доступное пространство.

Журнал медленных запросов mysql ничего не показывает. В то время нет медленных запросов.

Журнал веб-сервера не показывает никакой особой активности - только общее использование веб-сайта, статика, магазин, продукты, списки продуктов. Ничего лишнего.

В cron нет записей, которые могли бы выполняться в это время и которые могли бы что-либо делать с БД.

MySQL SHOW EVENTS пусто во всех базах данных. В журнале ошибок MySQL (с включенной регистрацией предупреждений) одновременно ничего нет. Там что-то появляется, но только когда диск заполнен, например:

151028  4:03:54 [ERROR] Got an error from unknown thread, /mnt/workspace/percona-server-5.5-debian-binary/label_exp/ubuntu-precise-64bit/percona-server-5.5-5.5.45-rel37.4/storage/myisam/mi_write.c:226
151028  4:03:54 [ERROR] /usr/sbin/mysqld: Incorrect key file for table '/tmp/#sql_5e90_21.MYI'; try to repair it
151028  4:03:54 [ERROR] Got an error from unknown thread, /mnt/workspace/percona-server-5.5-debian-binary/label_exp/ubuntu-precise-64bit/percona-server-5.5-5.5.45-rel37.4/storage/myisam/mi_write.c:226
151028  4:03:54 [ERROR] /usr/sbin/mysqld: Incorrect key file for table '/tmp/#sql_5e90_20.MYI'; try to repair it
151028  4:03:54 [ERROR] Got an error from unknown thread, /mnt/workspace/percona-server-5.5-debian-binary/label_exp/ubuntu-precise-64bit/percona-server-5.5-5.5.45-rel37.4/storage/myisam/mi_write.c:226

Вот несколько графиков Мунина: использование процессора, Использование дискового пространства (вы можете увидеть некоторые пики на этом графике - это не нормально для нашего сервера, пиков не было до того, как это началось).

Это началось некоторое время назад, до того, как этот сервер был в порядке, и сервер никогда не требовал такого количества дискового пространства.

По моему опыту, эта ошибка обычно означает, что диск заполнен.

Попробуйте увеличить размер раздела tmpfs, перемонтировав его:

mount -t tmpfs -o remount,size=1G tmpfs /tmp

Или вы можете установить tmpdir = / some / drive в конфигурации mysql, чтобы переместить хранилище tmp в какое-то место с большим доступным пространством.