Изменение каталога временных файлов mysql

Изменить каталог временных файлов mysqlОдной из частых причин повреждения таблиц mysql, является несоответствие свободного места в каталоге временных файлов mysql размеру таблицы.

Для избежания подобных проблем можно просто увеличить размер раздела /tmp на сервере. Но на много проще выделить для mysql отдельный каталог в разделе, где ему точно хватит свободного места.

Ниже представлен небольшой скрипт, который заменяет путь для каталога временных файлов на /home/mysql_tmp в конфигурационном файле /etc/my.cnf:

#!/bin/bash

sed -i '/tmpdir/d' /etc/my.cnf
sed -i '/\[mysqld\]/a tmpdir=\/home\/mysql_tmp' /etc/my.cnf
mkdir /home/mysql_tmp
chmod 1777 /home/mysql_tmp
chown mysql.mysql /home/mysql_tmp
service mysql restart

Раздел /home выбран сознательно, так как его размер будет достаточным для нужд mysql на большинстве серверов.

Проверим, как это работает, в результате должно получиться что-то вроде этого:

[root@nixc-tips.ru] # mysqladmin var|grep tmpdir
| slave_load_tmpdir | /home/mysql_tmp
| tmpdir | /home/mysql_tmp

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *