@H_301_1@我想让sql LOAD_FILE函数工作,并阅读有关此问题的每个问题/答案文档,但这是正在发生的事情.
@H_301_1@当我想从我的主目录LOAD_FILE:
@H_301_1@
1.所有用户组都可以读取所有文件,因此无需chmod.但是如果你想问的话,我甚至尝试过chmod 777.
2.我检查过,在MysqL中没有设置secure-file-priv变量,所以不,LOAD_FILE不限于任何路径. @H_301_1@任何想法可能是什么问题?
MysqL> SELECT LOAD_FILE('/home/myuser/somefile.txt');
+----------------------------+
| LOAD_FILE('/home/myuser/somefile.txt') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set (0.00 sec)
@H_301_1@在得到这个之后,我想也许问题是MysqL无法访问我的主目录.我尝试运行它,这很好用:
@H_301_1@
SELECT LOAD_FILE('/etc/MysqL/my.cnf');
@H_301_1@然后SELECT LOAD_FILE(‘/ etc / passwd’);工作得很好.
@H_301_1@所以我说getcha,这是一个文件/文件夹读/所有权限问题.所以,我将我的文件移动到/ etc / MysqL /但是它仍然无法正常工作.我已经尝试过chown MysqL:MysqL somefile.txt但是我还没有运气:
@H_301_1@
MysqL> SELECT LOAD_FILE('/etc/MysqL/somefile.txt');
+----------------------------+
| LOAD_FILE('/etc/MysqL/somefile.txt') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set (0.00 sec)
@H_301_1@附:1.所有用户组都可以读取所有文件,因此无需chmod.但是如果你想问的话,我甚至尝试过chmod 777.
2.我检查过,在MysqL中没有设置secure-file-priv变量,所以不,LOAD_FILE不限于任何路径. @H_301_1@任何想法可能是什么问题?
最佳答案
我发现它与AppArmor有关.我禁用了AppArmor for MysqL并且它有效.
对于有同样问题的人,请在此处阅读:http://www.cyberciti.biz/faq/ubuntu-linux-howto-disable-apparmor-commands/
对于有同样问题的人,请在此处阅读:http://www.cyberciti.biz/faq/ubuntu-linux-howto-disable-apparmor-commands/