Le nostre query Mysql utilizzano tabelle temporanee che creano file temporanei nel processo. Attualmente i file sono scritti in/tmp. Quanto esattamente può essere modificato il percorso della cartella temporanea in cui mysql scrive?Modifica della cartella tmp di mysql
risposta
Questa è una risposta nella documentazione:
Where MySQL Stores Temporary Files
In Unix, MySQL utilizza il valore della variabile d'ambiente TMPDIR come il nome del percorso della directory in cui memorizzare i file temporanei. Se TMPDIR non è impostato, MySQL utilizza l'impostazione predefinita di sistema, che di solito è /tmp,/var/tmp o/usr/tmp.
Su Windows, Netware e OS2, MySQL verifica in ordine i valori delle variabili di ambiente TMPDIR, TEMP e TMP. Per il primo è stato impostato , MySQL lo utilizza e non controlla quelli rimanenti. Se nessuno di TMPDIR, TEMP o TMP è impostato, MySQL utilizza il sistema di Windows predefinito, che di solito è C: \ windows \ temp.
Si dovrebbe modificare il my.cnf
tmpdir = /whatewer/you/want
e dopo che il riavvio mysql
P.S. Non dimenticate dare i permessi di scrittura per /whatewer/you/want
per l'utente mysql
Ecco un esempio di spostare la tmpdir mysqld da/tmp a/run/mysqld che già esiste su Ubuntu 13.04 ed è un tmpfs (/ RAM):
sudo vim /etc/mysql/conf.d/local.cnf
Add:
[mysqld]
tmpdir = /run/mysqld
Poi:
sudo service mysql restart
Ultimo:
SHOW VARIABLES LIKE 'tmpdir';
=========================================== =======================
Se si ottiene un errore su MySQL riavvio, potrebbe essere abilitato AppArmor:
sudo vim /etc/apparmor.d/local/usr.sbin.mysqld
Add :
# 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,
Poi:
sudo service apparmor reload
fonti: 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
Le altre risposte sono molto meglio dato che spiegano come impostare 'tmpdir' nel file di configurazione di MySQL, invece di basarsi su variabili d'ambiente. – rinogo