Изменение папки 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