mysql outfile的问题解决

只是简单的outfile,直接到命令行测试。

命令行下:

select "dddd" into outfile '/var/www/data/suddytest.php';

事先确认过data目录为777权限。

结果报错如下:

ERROR 1 (HY000): Can't create/write to file '/var/www/data/suddytest.php' (Errcode: 13)

换成/tmp目录则可以写入。

一个比较奇怪的问题。改了data目录的属主之类的都没有任何错误变化。

最后,在log里面翻到了提示:

tail /var/log/message


Jul 30 20
:12:02 prussian kernel: [25364.550264audit(1217419922.112:4): type=1503 operation="inode_create" requested_mask="w::" denied_mask="w::" name="/var/www/data/suddytest.php" pid=4178 profile="/usr/sbin/mysqld" namespace="default"

查下资料原来是ubuntu的AppArmor搞的鬼,一个类似selinux的东东,限制了一些应用程序的访问权限。

/etc/init.d/apparmor stop

关掉后顺利写入

附:apparmor说明原文如下:

来自:http://forum.ubuntu.org.cn/post-453074.html

在 Ubuntu 中应用 AppArmor 应用程序访问控制系统 简单说明 

windwiny
.ubt#gmail.com 20071003 



AppArmor 是一个类似于selinux 的东东,主要的作用是设置某个可执行程序的访问控制权限,可以限制程序 读/写某个目录/文件,打开//写网络端口等等。。 



1.安装 Ubuntu 7.10里 

sudo apt
-get install apparmor apparmor-profiles apparmor-docs apparmor-utils 



2.启动服务 

sudo 
/etc/init.d/apparmor restart

 

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):