Мой диск заполнен, файл .MAD в tmpdir занимает все место в файловой системе (50 ГБ из 110 ГБ)
из журнала:
[Предупреждение] mysqld: Диск полностью записывает '/var/tmp/#sql_b6f_0.MAD' (код ошибки: 28). Жду, пока кто-нибудь освободит место
Я выполняю сервис mysqld stop, и он работает, но не удалил файл. Я выполняю запуск службы mysqld и терплю неудачу из-за доступного бесплатного sapace.
Безопасно ли удалить вручную файл? Как я могу установить максимальный размер безумных файлов, чтобы избежать этой проблемы?
Умножьте максимальное количество строк, которое администратор базы данных считает целесообразным для ваших объединений, на 10 и установите его как max_join_size
.
Устанавливать tmp_disk_table_size
чтобы ваша файловая система не была заполнена более чем на 90%.
Сообщите тому, кто написал соответствующий запрос, об ограничениях, которые вы установили для сохранения доступности. Обсудите рентабельность написания более эффективных запросов вместо того, чтобы бросать на проблему память и хранилище.
И теперь, когда вы знаете, как они называются, настройте свои временные таблицы. Из переполнения стека: Как я могу ограничить размер временных таблиц?
Этот файл представляет собой временную таблицу, которую MariaDB записала на диск, потому что она была слишком большой для хранения в памяти. Если вы остановили базу данных, запрос, вызвавший создание таблицы, больше не выполняется, поэтому файл можно безопасно удалить. Но вам также необходимо выяснить, почему был создан этот файл, и устранить основную проблему, иначе это повторится снова.