Vím, že tento příspěvek je starý, ale stále se objevuje ve výsledcích vyhledávání. Nemohl jsem najít řešení tohoto problému online, takže jsem na to přišel sám. Pokud používáte Ubuntu, pak existuje program s názvem "Apparmor", který brání MySQL v zobrazení souboru. Zde je to, co musíte udělat, pokud chcete, aby MySQL bylo schopné číst soubory z adresáře "tmp":
sudo vim /etc/apparmor.d/usr.sbin.mysqld
Jakmile jste v souboru, uvidíte spoustu adresářů, které může MySQL používat. Přidejte řádek /tmp/** rwk
do souboru (nejsem si jistý, že na tom záleží kde, ale tady je ukázka toho, kam jsem to vložil):
/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,
Nyní vše, co musíte udělat, je znovu načíst Apparmor:
sudo /etc/init.d/apparmor reload
Všimněte si, že jsem použil "vim", ale nahraďte jej jakýmkoliv oblíbeným textovým editorem, který umíte používat.