Бывают запросы к MySQL, которые превышают установленное значение max_allowed_packet. В следствии чего в /tmp начинает создаваться временный файл. Это плохо в том случае если таких запросов может быть много, из-за чего повышается нагрузка на винчестер и на сервер в целом. Чтобы немного убавить нагрузку на винчестер, дабы не отвлекать винт лишний раз, можно разместить tmpdir в оперативке.
Для этого проделаем следующие действия:
mkdir /mysqltmp
chown mysql:mysql /mysqltmp
id mysql
vi /etc/fstab
Примечание: использовать uid и gid полученный от команды выше.
Редактируем /etc/fstab. Добавляем такую строку:
tmpfs /mysqltmp tmpfs rw,uid=102,gid=105,size=2G,nr_inodes=10k,mode=0700 0 0
size=2G — задается относительно установленного объема RAM. К примеру, если на сервере есть 16Gb, можно задать 2G. Объем все равно не резервируется, при надобности освобождаются кеши из памяти.
mount /mysqltmp
vi /etc/my.cnf или же /var/lib/mysql/my.cnf
Примечание: Добавить в файл после [mysqld]
tmpdir=/mysqltmp/
service mysql restart