это вопрос Я уже просил на ТАК но мне интересно, может ли это быть проблемой системного администратора.
Я пытаюсь создать функция mysql UDF эта функция вызывает "fopen / fclose" для чтения плоского файла, хранящегося в /data
. Но используя errno (да, я знаю, что это плохо в программе MT ...), я вижу, что функция не может открыть мой файл:
"Permission denied"
Я пытался сделать
chmod -R 755 /data (as well as 777, chown -R mysql:mysql /data etc...)
но это ничего не изменило.
когда я скопировал плоский файл в / tmp: ОК, мой 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
Любая идея ?
mysqld был защищен Apparmor.
AppArmor представляет собой один из нескольких возможных подходов к проблеме ограничения действий, которые может выполнять установленное программное обеспечение.
я добавил
/data/** r,
в конце
/etc/apparmor.d/usr.sbin.mysqld
apparmor был перезапущен:
/etc/init.d/apparmor restart
и теперь мой UDF отлично работает! :-)