我已经苦苦挣扎了几天,一直试图使用这个线程以及其他谷歌搜索来解决问题,但似乎无法使其正常工作。
当我运行这个SELECT查询(Ubuntu Server 15.10 & MySQL 5.6)...
SELECT column1 ,column2
FROM table
INTO OUTFILE '/home/user/mysql_temp/file.csv';
我遇到了权限错误...
ERROR 1 (HY000): Can't create/write to file '/home/mysql_temp/file.csv' (Errcode: 13 - Permission denied)
经过我的搜索,我了解到这是一个系统权限问题,而不是MySQL的问题,但我似乎找不到适合我的解决方案。
检查apparmor显示mysqld处于强制执行模式...
apparmor module is loaded.
6 profiles are loaded.
6 profiles are in enforce mode.
/sbin/dhclient
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/sbin/mysqld
/usr/sbin/tcpdump
0 profiles are in complain mode.
2 processes have profiles defined.
2 processes are in enforce mode.
/sbin/dhclient (676)
/usr/sbin/mysqld (1285)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
因此我编辑了 /etc/apparmor.d/usr.sbin.mysqld,添加了以下行,并重新启动了 apparmor...
/home/user/mysql_temp/ rw,
/home/user/mysql_temp/* rw,
我也改变了mysql_temp的所有者:组为mysql,并给予它完全访问权限...
sudo chown mysql:mysql mysql_temp
...
drwxrwxrwx 2 mysql mysql 6 Apr 1 22:02 mysql_temp
在此之后,我仍然收到相同的错误信息。
我错过了什么吗?是否误解了某些指示?感谢您的建议。谢谢。