Wiem, że ten post jest stary, ale wciąż pojawia się w wynikach wyszukiwania. Nie mogłem znaleźć rozwiązania tego problemu w Internecie, więc sam to rozgryzłem. Jeśli używasz Ubuntu, istnieje program o nazwie „Apparmor”, który uniemożliwia MySQLowi wyświetlenie pliku. Oto, co musisz zrobić, jeśli chcesz, aby MySQL mógł odczytywać pliki z katalogu „tmp”:
sudo vim /etc/apparmor.d/usr.sbin.mysqld
Gdy znajdziesz się w pliku, zobaczysz kilka katalogów, z których może korzystać MySQL. Dodaj wiersz /tmp/** rwk
do pliku (nie jestem pewien, czy ma znaczenie gdzie, ale oto próbka tego, gdzie go umieściłem):
/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,
Teraz wszystko, co musisz zrobić, to przeładować Apparmor:
sudo /etc/init.d/apparmor reload
Zauważ, że użyłem „vim”, ale zastąp to dowolnym ulubionym edytorem tekstu, którego wiesz, jak go używać.