MySQL запрос выбора «Нет свободного места на устройстве»

0

Моя система использует Ubuntu с базой данных mysql:
У меня есть сложный запрос выбора mysql для запуска.

mysql -u root -p  myDB < query.sql  

Но когда я пытаюсь запустить его, это всегда дает мне:

ОШИБКА 3 (HY000) в строке 1: Ошибка записи файла '/mnt/disk/tmp/MY0Wy7vA' (Errcode: 28 - на устройстве не осталось места)

У меня 11 ГБ бесплатно на диске, и во время выполнения запроса я отслеживаю его, используя

df -h

а также

df -hi

отслеживать индексы

и я не вижу уменьшения дискового пространства во время выполнения запроса. Все время на диске всегда остается 11 ГБ, где находится папка tmp.

Это вывод df -h:

ubuntu@ip-10-0-0-177:~$ df -h  
Filesystem      Size  Used Avail Use% Mounted on  
udev            3.9G     0  3.9G   0% /dev  
tmpfs           799M   57M  742M   8% /run  
/dev/xvda1       30G   24G  5.4G  82% /  
tmpfs           3.9G     0  3.9G   0% /dev/shm  
tmpfs           5.0M     0  5.0M   0% /run/lock  
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup  
/dev/xvdf1       50G   39G   11G  80% /mnt/disk  
tmpfs           799M     0  799M   0% /run/user/1000  

Это вывод df -aTh:

Тип файловой системы Размер Используется Использовать% Установлено на
/dev/xvdf1 ext4 50G 39G 11G 80%/mnt/диск

  • 0
    Вы уверены, что в разделе есть место? Этот раздел /tmp заполнен? Что говорит df -h ?
  • 0
    Временное хранилище постоянно смонтировано в / mnt / disk? В самом деле?
Показать ещё 3 комментария
Теги:

1 ответ

0

Взгляните на ту часть ошибки, которая указывает на ее собственно запись в /tmp (см. Ниже)

: Error writing file '/mnt/disk/tmp/MY0Wy7vA

В некоторых дистрибутивах Linux/tmp монтируется как tmpfs (ramdisk), поэтому даже если на вашем диске много места, вы можете получить ошибку "без пробела", если вы попытаетесь написать слишком много.

Чтобы узнать о монте, попробуйте

$ cat /proc/mounts

ИЛИ $ cat/proc/self/mounts Или еще лучше

df - aTh

df -h /tmp

Чтобы увидеть скрытые, попробуйте

du -sc *. [^.] * | sort -n

Среди прочего вы можете попытаться заставить MySQL использовать другой каталог temp или не использовать tmpfs для /tmp

Если TMPDIR не установлен в my.cnf, MySQL использует системное значение по умолчанию, которое обычно равно tmp

Вы можете изменить dmp MySQL tmp, как показано ниже:

Изменение папки tmp mysql

Кредиты :: https://github.com/LogBlock/LogBlock/issues/540

  • 0
    раздел не tmpfs Я добавил вывод df -h к своему ответу
  • 0
    Обновил ответ, выложу вывод df - aTh
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню