この投稿は古いことは知っていますが、それでも検索結果に表示されます。この問題の解決策をオンラインで見つけることができなかったので、私は自分でそれを理解することになりました。 Ubuntuを使用している場合は、MySQLがファイルを認識できないようにする「Apparmor」というプログラムがあります。 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」を使用したことに注意してください。ただし、使用方法を知っているお気に入りのテキストエディタに置き換えてください。