Изменение папки tmp mysql
В наших запросах Mysql используются временные таблицы, которые создают временные файлы в процессе. В настоящее время файлы записываются в /tmp. Как точно может быть изменен путь к папке temp, для которой mysql пишет?
Ответы
Ответ 1
Об этом говорится в документации:
Где MySQL хранит временные файлы
В Unix MySQL использует значение переменной среды TMPDIR как имя пути каталога, в котором хранятся временные файлы. Если TMPDIR не установлен, MySQL использует систему по умолчанию, что обычно /tmp,/var/tmp или /usr/tmp.
В Windows, Netware и OS2 MySQL проверяет, чтобы значения TMPDIR, TEMP и переменные среды TMP. Для первого найденного который будет установлен, MySQL использует его и не проверяет оставшиеся. Если ни один TMPDIR, TEMP или TMP, MySQL использует систему Windows default, обычно это C:\windows\temp.
Ответ 2
Вы должны отредактировать файл my.cnf
tmpdir = /whatewer/you/want
и после этого перезапустите mysql
P.S. Не забывайте давать разрешения на запись для /whatewer/you/want
для пользователя mysql
Ответ 3
Вот пример, чтобы переместить mysqld tmpdir из /tmp в/run/mysqld, который уже существует в Ubuntu 13.04, и является tmpfs (memory/ram):
sudo vim /etc/mysql/conf.d/local.cnf
Добавить
[mysqld]
tmpdir = /run/mysqld
Тогда:
sudo service mysql restart
Последняя:
SHOW VARIABLES LIKE 'tmpdir';
=============================================== ===================
Если у вас возникла ошибка при перезапуске MySQL, вы можете включить AppArmor:
sudo vim /etc/apparmor.d/local/usr.sbin.mysqld
Добавить:
# Site-specific additions and overrides for usr.sbin.mysqld.
# For more details, please see /etc/apparmor.d/local/README.
/run/mysqld/ r,
/run/mysqld/** rwk,
Тогда:
sudo service apparmor reload
Источники: http://2bits.com/articles/reduce-your-servers-resource-usage-moving-mysql-temporary-directory-ram-disk.html, https://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql