select * into outfile即使对root也不起作用

时间:2011-08-26 18:40:35

标签: mysql linux select into-outfile

当我跑步时

mysql> select * into outfile "/home/akihirom/file1.txt" from BAIT_INTERACTION;

我收到以下错误:

错误1(HY000):无法创建/写入文件'/home/akihirom/file1.txt'(错误代码:13)

即使是root用户,mysql或系统本身也会发生这种情况。有谁知道为什么会这样?感谢

3 个答案:

答案 0 :(得分:2)

我将两个示例合并为一个,并提出了我用于capistrano任务的以下内容。我能够调用一个shell并从命令行运行它。

mysql -uUSERNAME --database=${DBNAME} --execute=" SELECT * FROM ${TBNAME} INTO OUTFILE '/tmp/dumps/DBNAME.out' "

我在双引号之前添加了间距,因此您可以看到语法差异。

答案 1 :(得分:1)

通过将select语句的内容转储到文件中,我可以使用mysql dump执行相同的操作:

mysql -u USERNAME --password=PASSWORD --database=DATABASE --execute='SELECT `FIELD`, `FIELD` FROM `TABLE` LIMIT 0, 10000 ' -X > file.xml

Where I got the idea from

答案 2 :(得分:0)

尊重错误1(HY000):无法创建/写入文件' /home/akihirom/file1.txt' (错误代码:13)
  仅使用' FILE1.TXT'因为服务器只写入/ var / lib / mysql / DB(其中DB是一个名为数据库的目录),后来如果你是root用户,那就去那里根据需要管理文件。 你也可以使用file1.cvs;它的工作原理与file1.txt相同