我正在使用以下查询创建CSV文件

SELECT email INTO OUTFILE "mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM users;

但是我找不到我的数据.当我搜索filezilla时,csv文件在任何地方.

知道这个文件存储在哪里吗?

查询成功运行,没有任何错误!有什么帮助吗?

推荐答案

MySQL可能正在将文件写入自己的数据目录,例如/var/lib/mysql/<databasename>.要指定路径,请使用完整路径.

但是,它必须是一个可由MySQL服务器守护程序运行的用户帐户写入的目录.因此,我经常使用/tmp:

指定要写入的路径,如中所示:

INTO OUTFILE '/tmp/mydata.csv'

请注意,MySQL将在MySQL server上编写文件,而不是在您的客户机上.因此,远程连接将在远程服务器上创建输出文件.有关更多详细信息和解决方法,请参见SELECT INTO OUTFILE local ?.

Systemd & Linux

A note about writing to 100 on a Linux system running 101:

在最初发布这篇文章几年后,我发现自己找不到通过via写入/tmp的文件

...INTO OUTFILE '/tmp/outfile.csv'

在运行Fedora Linux和systemd的MariaDB 5.5服务器上.不是按照规定将文件直接写入/tmp/outfile.csv,而是在/tmp中的systemd目录下创建了该目录和文件:

/tmp/systemd-mariadb.service-XXXXXXX/tmp/outfile.csv

虽然文件outfile.csv本身和tmp/子目录都是创建为可写的,但systemd服务目录本身拥有700个权限,并且是root所有的,需要sudo次访问才能检索其中的文件.

在MariaDB中,不是将绝对路径指定为/tmp/outfile.csv,而是将其相对指定为outfile.csv,而是按照预期将文件写入当前选定数据库的MariaDB数据目录中.

Mysql相关问答推荐

在mySQL中使用子查询和WHERE子句的JOIN

无条件理解MySQL中内连接和交叉连接的相似性

如果WHERE语句包含所有列,唯一键顺序是否重要?

含有子查询的MySQL函数出现语法错误

从单行中获取最大日期的最佳方法

如何创建一个列,该列在另一个表中具有值的计数?

MySQL - 事务绑定多个存储过程调用和回滚的简单方法?

MYSQL 8.0 - 从 INFORMATION_SCHEMA.COLUMNS 获取表列重新调整其他不相关的列

有人可以帮我用 R 编程解决这个问题吗?

为什么 MySQL 不使用索引进行简单的SELECT * FROM Table WHERE field='value'查询?

多个驱动器上的 MYSQL 数据

非常规字符的不正确字符串值错误

Over() 函数不覆盖表中的所有行

是否可以从 .SQL 文件中计算表中的行数?

MySQL中两个时间字段的分钟差

MySQL:按字段排序,将空单元格放在末尾

MySQL:ALTER IGNORE TABLE 给出违反完整性约束

判断多个列的一个值

ON UPDATE RESTRICT 有什么作用?

'LIKE ('%this%' OR '%that%') and something=else' 不起作用