У меня следующая ошибка с одним из наших веб-приложений -
Query3 failed: Error writing file '/tmp/MY1fnqpm' (Errcode: 28) ... INSERT MailList... (removed the rest of the query for security reasons)
Любые идеи - это проблема с местом на жестком диске на моем сервере?
Ответы:
Используйте
perror
команду :Если коды ошибок в вашей системе не отличаются, ваша файловая система заполнена.
источник
while true; do df -h /tmp; sleep 3; done
при запуске сценария, чтобы узнать, сколько места используется временными таблицами.Мы столкнулись с аналогичной проблемой, и проблема заключалась в том, что MySQL использовал каталог / tmp для своих нужд (это конфигурация по умолчанию). И / tmp был расположен на отдельном разделе, на котором было слишком мало места для больших запросов MySQL.
Для получения дополнительной информации посмотрите этот ответ: https://stackoverflow.com/a/3716778/994302
источник
У меня была такая же проблема, но дисковое пространство было в порядке (заполнено только 40%). Проблема заключалась в индексных дескрипторах, у меня было слишком много маленьких файлов, а мои индексы были заполнены.
Вы можете проверить статус inode с помощью df -i
источник
Ошибка означает, что у вас недостаточно места для создания временных файлов, необходимых MySQL.
Первое, что вы можете попробовать, это увеличить размер вашего
/tmp/
раздела. Если вы находитесь под LVM, проверьтеlvextend
команду.Если вы не можете увеличить размер своего раздела,
/tmp/
вы можете работать с конфигурацией MySQL, отредактироватьmy.cnf
(обычно включенный/etc/mysql/my.cnf
) файл и найти эту строку:tmpdir = /tmp/
Измените его на что хотите (пример
/var/tmp/
). Просто убедитесь, что у вас есть место, и назначьте пользователю mysql разрешение на запись в новом каталоге.Надеюсь это поможет!
источник
Запустите следующий код:
дю -sh / var / log / mysql
Возможно, двоичные журналы mysql заполнили память. Если это так, выполните удаление старых журналов и перезапустите сервер. Также добавьте в my.cnf:
expire_logs_days = 3
источник
du -sh /var/log/mysql.log
У меня была такая же ошибка, и проблема заключалась в нехватке места на моей виртуальной машине. Я удалил несколько ненужных файлов, и он снова заработал.
мое распределение памяти / дискового пространства выглядело примерно так
df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 37G 37G 127M 100% / ...
источник
Вы также можете попробовать использовать эту строку, если другая не работает:
дю -sh / var / lib / mysql / имя_базы_данных
Вы также можете узнать у своего хоста, насколько велики они позволяют вашим базам данных.
источник
Для пользователей xampp: по моему опыту, проблема была вызвана файлом с именем «0», расположенным в папке «mysql». Размер был слишком огромным (мой взорвался примерно до 256 Гб). Его удаление устранило проблему.
источник
Эта ошибка возникает, когда в разделе недостаточно места. Обычно MYSQL использует / tmp на серверах Linux. Это может произойти с некоторыми запросами, потому что поиск либо возвращал много данных, либо, возможно, даже просто просматривал много данных, создавая большие временные файлы.
Отредактируйте ваш /etc/mysql/my.cnf
например
Должно быть выделено больше места, чем / tmp, которое обычно находится в его собственном разделе.
источник
Cегодня. У меня такая же проблема ... мое решение:
1) проверить inode:
df -i
я видел:root@vm22433:/etc/mysql# df -i Filesystem Inodes IUsed IFree IUse% Mounted on udev 124696 304 124392 1% /dev tmpfs 127514 452 127062 1% /run /dev/vda1 1969920 1969920 0 100% / tmpfs 127514 1 127513 1% /dev/shm tmpfs 127514 3 127511 1% /run/lock tmpfs 127514 15 127499 1% /sys/fs/cgroup tmpfs 127514 12 127502 1% /run/user/1002
2) Стал смотреть, какие папки используют максимальное количество inods:
for i in /*; do echo $i; find $i |wc -l; done
вскоре я нашел в папке / home / tomnolane / tmp огромное количество файлов.
3) Я удалил папку / home / tomnolane / tmp PROFIT.
4) проверил:
Filesystem Inodes IUsed IFree IUse% Mounted on udev 124696 304 124392 1% /dev tmpfs 127514 454 127060 1% /run /dev/vda1 1969920 450857 1519063 23% / tmpfs 127514 1 127513 1% /dev/shm tmpfs 127514 3 127511 1% /run/lock tmpfs 127514 15 127499 1% /sys/fs/cgroup tmpfs 127514 12 127502 1% /run/user/1002
все нормально.
5)
restart mysql service
- Ничего страшного !!!!источник