Mover / tmp para uma unidade montada diferente

1

Mapei meu datadir do MySQL para um disco diferente (e maior) com 900 GB

[root@web ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       40G   24G   14G  64% /
    tmpfs           7.4G     0  7.4G   0% /dev/shm
    /dev/xvdb1      886G  658G  184G  79% /mnt/cbsvolume1

O / tmp está localizado no disco menor de 40 GB

[root@web ~]# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   24G   14G  64% /

Parece que o MySQL está usando o diretório / tmp e, por causa disso, estou ficando sem espaço em disco quando tento executar grandes operações do MySQL.

Como posso alterar o /tmp para usar também o disco maior?

    
por Noam 17.06.2014 / 10:25

2 respostas

1

Até onde eu sei, o conteúdo de /tmp é excluído na reinicialização.

No entanto, no seu caso, você pode tentar alterar / adicionar a variável de ambiente TMPDIR em:

/etc/mysql/conf.d/local.cnf
    
por 17.06.2014 / 10:35
1

Altere a variável de ambiente TMPDIR para um sistema de arquivos / diretório com mais espaço em disco.

Edite o arquivo de configuração local /etc/mysql/conf.d/local.cnf . Este arquivo contém suas alterações locais - e não será sobrescrito se você atualizar o mysql. Observe que os arquivos de configuração podem ser armazenados em um local diferente - use find para localizar o arquivo de configuração padrão my.cnf. Normalmente local.cnf seria mantido no mesmo diretório.

sudo find / -name my.cnf     # look for path of config files

Edite o local.cnf, por ex. sudo vi /etc/mysql/conf.d/local.cnf

Adicione estas linhas ao local.cnf:

[mysqld]
tmpdir = /your/newpath

Em seguida, reinicie o mysql.

Na documentação MySQL :

B.5.4.4 Where MySQL Stores Temporary Files

On Unix, MySQL uses the value of the TMPDIR environment variable as the path name of the directory in which to store temporary files. If TMPDIR is not set, MySQL uses the system default, which is usually /tmp, /var/tmp, or /usr/tmp.

    
por 17.06.2014 / 10:35