So che questo post è vecchio, ma compare ancora nei risultati di ricerca. Non riuscivo a trovare la soluzione a questo problema online, quindi ho finito per capirlo da solo. Se stai usando Ubuntu, c'è un programma chiamato "Apparmor" che impedisce a MySQL di vedere il file. Ecco cosa devi fare se vuoi che MySQL sia in grado di leggere i file dalla directory "tmp":
sudo vim /etc/apparmor.d/usr.sbin.mysqld
Una volta che sei nel file, vedrai un sacco di directory che MySQL può usare. Aggiungi la riga /tmp/** rwk
al file (non sono sicuro che importi dove, ma ecco un esempio di dove l'ho messo):
/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/*.cnf r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/tmp/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,
/run/mysqld/mysqld.pid w,
/run/mysqld/mysqld.sock w,
Ora tutto ciò che devi fare è ricaricare Apparmor:
sudo /etc/init.d/apparmor reload
Nota che ho usato "vim", ma sostituiscilo con qualunque sia il tuo editor di testo preferito che sai come usare.