Я знаю, что этот пост старый, но он все еще появляется в результатах поиска.Я не мог найти решение этой проблемы в Интернете, поэтому я решил выяснить это сам.Если вы используете Ubuntu, то есть программа под названием «Apparmor», которая не позволяет MySQL видеть файл.Вот что вам нужно сделать, если вы хотите, чтобы MySQL мог читать файлы из каталога "tmp":
sudo vim /etc/apparmor.d/usr.sbin.mysqld
Как только вы окажетесь в файле, вы увидите кучу каталогов, которыеMySQL можно использовать.Добавьте строку /tmp/** rwk
в файл (я не уверен, что это имеет значение, где, но вот пример того, где я ее положил):
/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,
Теперь все, что вам нужно сделать, это перезагрузить Apparmor:
sudo /etc/init.d/apparmor reload
Заметьте, я использовал "vim", но замените его любым вашим любимым текстовым редактором, который вы знаете, как использовать.