10

我正在尝试做一个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

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

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

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

4

4 回答 4

13

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

于 2010-11-22T21:11:32.377 回答
9

mysql -u 用户名 --password=PASSWORD --database=DATABASE --execute='SELECT FIELD, FIELDFROM TABLELIMIT 0, 10000 ' -X > file.xml

于 2014-03-19T09:11:39.287 回答
0

客户可能会mysqld。您必须更改 apparmor 授权,它会正常工作。看看这个答案

于 2013-11-30T17:01:52.563 回答
0

这是一个可能有帮助的讨论: 如何让 MySQL 以不同的用户身份写入输出文件?

另外,请尽量避免用绒毛混淆您的问题。在您的情况下,您已经知道这是一个权限问题,因此您的所有 SQL 连接和表都无关紧要。您可以简单地使用您选择的一张表中的一个字段来演示问题,而不会混淆。

于 2010-11-22T21:12:06.010 回答