Tôi biết rằng bài đăng này đã cũ, nhưng bài đăng này vẫn xuất hiện trong kết quả tìm kiếm. Tôi không thể tìm thấy giải pháp cho vấn đề này trực tuyến, vì vậy tôi đã tự tìm ra nó. Nếu bạn đang sử dụng Ubuntu, thì có một chương trình có tên "Apparmor" đang ngăn MySQL xem tệp. Đây là những gì bạn cần làm nếu bạn muốn MySQL có thể đọc tệp từ thư mục "tmp":
sudo vim /etc/apparmor.d/usr.sbin.mysqld
Khi bạn đã ở trong tệp, bạn sẽ thấy một loạt các thư mục mà MySQL có thể sử dụng. Thêm dòng /tmp/** rwk
vào tệp (tôi không chắc rằng nó quan trọng ở đâu, nhưng đây là ví dụ về nơi tôi đặt nó):
/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,
Bây giờ tất cả những gì bạn cần làm là tải lại Apparmor:
sudo /etc/init.d/apparmor reload
Lưu ý rằng tôi đã sử dụng "vim", nhưng hãy thay thế bằng bất kỳ trình soạn thảo văn bản yêu thích nào của bạn mà bạn biết cách sử dụng.