MySQL无法写入文件,权限被拒绝。 (错误13)

时间:2011-03-10 17:07:55

标签: mysql linux permissions

我有一个在数据库上运行查询的Web应用程序。应用程序正在尝试运行查询,并将结果发送到输出文件。我已经确认该问题实际上是一个权限被拒绝(错误13)问题,而不是查询的任何其他部分的问题。查询的简化形式如下:

SELECT 'anything'
INTO OUTFILE '/var/www/html/sl/filestore/dbadpt_database.tmp'  
FROM INFORMATION_SCHEMA.TABLES;

当我删除INTO OUTFILE行时,此查询运行正常。我已经尝试了我能想到的这个目录的每个权限设置。我甚至将权限更改为777,并得到了相同的结果。 (是的,我知道777不安全。只是做了测试)我已经尝试了'root','apache'和'mysql'的所有所有权组合,我可以考虑尝试这个目录。我已将上述查询粘贴到MySQL命令行工具中,并产生了相同的结果。

我们正在运行CentOS 5.5。运行应用程序的Web服务器是Apache 2.我无法提前创建文件,也无法更改程序尝试写入的目录。

1 个答案:

答案 0 :(得分:1)

我猜测SELinux存在问题。

我会尝试的第一件事是setenforce 0,看看是否修复了它。它只会修复症状(您仍然需要重新配置SELinux以满足您的需要),但它至少会确认这是否是问题。