mysql UDF:fopen = 权限被拒绝

mysql UDF:fopen = 权限被拒绝

这是问题我已经问过了但我想知道这是否是系统管理员的问题。

我正在尝试创建一个mysql UDF 函数,此函数调用“fopen/fclose”来读取存储在中的平面文件/data。但是使用 errno(是的,我知道这在 MT 程序中很糟糕......)我可以看到该函数无法打开我的文件:

"Permission denied"

我尝试做了

chmod -R 755 /data (as well as 777, chown -R mysql:mysql /data etc...)

但它并没有改变任何事情。

当我将平面文件复制到 /tmp 时:OK,我的 UDF 能够“打开”该文件。我感到很困惑。

目前,我有:

drwxrwxrwx 4 pierre root 4096 2010-05-26 16:51 /data
drwxrwxrwx 3 pierre root 4096 2010-05-18 09:41 /data/dir1
drwxrwxrwx 3 pierre root 4096 2010-05-18 09:41 /data/dir1/dir2
drwxrwxrwx 4 pierre root 4096 2010-05-18 10:27 /data/dir1/dir2/dir3
-rw-r--r-- 1 pierre root 50685268 2005-12-10 00:01 /data/dir1/dir2/dir3/myfile.txt

任何想法 ?

答案1

mysqld 受到保护装甲

AppArmor 是解决限制已安装软件可以采取的操作问题的几种可能方法之一。

我补充道

/data/** r,

在......的最后

/etc/apparmor.d/usr.sbin.mysqld

apparmor 已重新启动:

/etc/init.d/apparmor restart

现在我的 UDF 工作正常!:-)

相关内容