【问题标题】:MySQL can't write to file, permission denied. (Error 13)MySQL 无法写入文件,权限被拒绝。 (错误 13)
【发布时间】:2011-03-10 17:07:55
【问题描述】:

我有一个在数据库上运行查询的 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。我无法提前创建文件,也无法更改程序尝试写入的目录。

【问题讨论】:

标签: mysql linux permissions


【解决方案1】:

我会冒险猜测问题出在 SELinux 上。

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

【讨论】:

  • 问题实际上是 SELinux。我一关掉就没问题了。
猜你喜欢
  • 2021-06-03
  • 1970-01-01
  • 2019-06-27
  • 2018-07-19
  • 2017-04-04
  • 2013-01-25
  • 2016-04-04
  • 2021-08-30
  • 1970-01-01
相关资源
最近更新 更多