В основном MySQL выдает мне много ошибок типа «Получена ошибка 28 из механизма хранения», что означает, что на диске больше нет места.
Выход df -h
является:
File system Dim. Usati Disp. Uso% Montato su
/dev/md1 10G 7,9G 1,6G 84% /
tmpfs 2,0G 0 2,0G 0% /lib/init/rw
udev 10M 176K 9,9M 2% /dev
tmpfs 2,0G 0 2,0G 0% /dev/shm
/dev/md2 683G 601G 48G 93% /home
Здесь не все файловые системы пусты. Есть ли другие проблемы?
Я на
- выделенный сервер (debian 64bit)
- и ошибки возникают при выполнении тяжелого запроса
Возможно, ваш запрос заставляет MySQL создавать временные таблицы. В конфигурации по умолчанию они будут созданы вместе с другими таблицами, что, вероятно, находится на вашем /
раздел, в котором осталось всего 1,6 ГБ, и эти таблицы могут очень быстро стать большими.
Следите за своим свободным пространством, пока вы делаете такой запрос.
Видеть эта документация об этом.
Две другие возможности:
/home
составляет 93%.df -i
.Я думаю, что ответ SvenW, скорее всего, будет верный. Его доводы верны, и я сам столкнулся с той же проблемой.
Вы можете выяснить, будет ли запрос использовать временную таблицу, запустив EXPLAIN <query>
в вашем экземпляре MySQL, заменив <query>
с фактическим запросом. Вы ищете "Временное использование" в Extra
раздел. Временные таблицы будут записаны на диск, если они больше, чем max_heap_table_size
и / или tmp_table_size
в твоем my.cnf
.
Вы можете узнать, какой каталог MySQL использует для временных таблиц, посмотрев на tmpdir
переменная либо в запущенном экземпляре (mysql> SHOW VARIABLES LIKE 'tmpdir';
) или в вашем my.cnf
(grep tmpdir my.cnf
).