gpt4 book ai didi

MySQL LOAD_FILE 返回 NULL

转载 作者:行者123 更新时间:2023-11-29 21:53:14 26 4
gpt4 key购买 nike

我想让 SQL LOAD_FILE 函数正常工作,并且已阅读有关此问题的每个问题/答案 + 文档,但以下是正在发生的情况。

当我想从我的主目录LOAD_FILE时:

mysql> SELECT LOAD_FILE('/home/myuser/somefile.txt');
+----------------------------+
| LOAD_FILE('/home/myuser/somefile.txt') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set (0.00 sec)

所以在得到这个之后,我想问题可能是MySQL无法访问我的主目录。我尝试运行这个,效果很好:

SELECT LOAD_FILE('/etc/mysql/my.cnf');

然后SELECT LOAD_FILE('/etc/passwd');也工作得很好。

所以我说,这是一个文件/文件夹读取/所有权权限问题。因此,我将文件移至/etc/mysql/但仍然无法正常工作。我已经尝试过 chown mysql:mysql somefile.txt 但仍然没有运气:

mysql> SELECT LOAD_FILE('/etc/mysql/somefile.txt');
+----------------------------+
| LOAD_FILE('/etc/mysql/somefile.txt') |
+----------------------------+
| NULL |
+----------------------------+
1 row in set (0.00 sec)

附注1. 所有文件均可被所有用户组读取,因此无需 chmod。但如果你想问的话,我什至尝试过chmod 7772.我查了一下,MySQL中没有设置secure-file-priv变量,所以没有,LOAD_FILE不限制在任何路径。

您知道这里可能存在什么问题吗?

最佳答案

我发现它与AppArmor有关。我禁用了 MySQL 的 AppArmor,它起作用了。有同样问题的人,请阅读这里:http://www.cyberciti.biz/faq/ubuntu-linux-howto-disable-apparmor-commands/

关于MySQL LOAD_FILE 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33420517/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com