SELECT INTO OUTFILE无法写入文件

时间:2010-11-22 21:07:21

标签: mysql sql linux into-outfile

我正在尝试SELECT INTO OUTFILE而我收到以下错误:

General error: 1 Can't create/write to file '/home/jason/projects/mcif/web/downloads/dump.csv' (Errcode: 13). Failing Query: "
SELECT name
INTO OUTFILE '/home/jason/projects/mcif/web/downloads/dump.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM account a

我知道问题可能是什么:我的MySQL用户无法写入downloads文件夹。我不知道如何解决这个问题有两个原因:

  • 我不知道该怎么找出来的 MySQL用户
  • 我不知道如何将MySQL用户添加到能够写入downloads文件夹的用户

我在Ubuntu Linux上。有人可以帮我解决这两件事吗?

4 个答案:

答案 0 :(得分:12)

写入文件/tmp/dump.csv并将其复制过来。这样可以让你看到谁在运行什么。我的猜测是你是从网上做的,客户端是作为网络服务器进程运行的......

答案 1 :(得分:8)

mysql -u USERNAME --password = PASSWORD --database = DATABASE --execute =' SELECT FIELDFIELD FROM TABLE LIMIT 0,10000&#39 ; -X> file.xml

答案 2 :(得分:0)

以下是可能有所帮助的讨论: How can I have MySQL write outfiles as a different user?

此外,请尽量避免使用绒毛弄乱你的问题。在您的情况下,您已经知道它是权限问题,因此所有SQL连接和表都无关紧要。你可以简单地使用 选择中一个表中的一个字段,用于演示问题而不会使事情蒙上阴影。

答案 3 :(得分:0)

客户端可能是mysqld。你必须改变apparmor授权,它会正常工作。看看this answer