我现在已经苦苦挣扎了几天,一直试图在其他谷歌搜索中使用this线程来解决它,但似乎无法让它工作。
当我运行这个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 IS处于强制模式...
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
在此之后,我仍然收到同样的错误。
我错过了什么吗?误解了一些指令?将不胜感激。谢谢。
对我有用的是访问my.ini文件。在该文件中,查找“安全文件权限”。应该有一个文件路径,它是mySql赋予输出指定文件权限的安全路由。我希望这有帮助!对我来说,该文件位于C:/ ProgramData / mysql / mysql Server 5.7下