当前位置: 首页 > 面试题库 >

在MySQL中找不到outfile创建的文件

施恩
2023-03-14
问题内容

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

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

但是当我通过filezilla搜索时,无法在任何地方找到mydata.csv文件。

知道该文件的存储位置吗?

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


问题答案:

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

但是,该目录必须是运行MySQL服务器守护程序的用户帐户可写的目录。因此,我将经常使用/tmp

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

INTO OUTFILE '/tmp/mydata.csv'

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

系统和Linux

关于/tmp在运行systemd以下命令 的Linux系统上进行 写入的说明

最初发布此文件的几年后,我发现自己无法找到/tmp通过写入的文件

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

在运行带Fedora Linux的MariaDB
5.5服务器上systemd/tmp/outfile.csv该目录和文件不是在指定的位置直接写入文件,而是在以下目录中的systemd目录下创建的/tmp

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

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

并非按预期将MariaDB中的绝对路径/tmp/outfile.csv指定为,也没有将其相对地指定为outfile.csv,而是按预期将文件写入当前所选数据库的MariaDB数据目录中。



 类似资料:
  • 我使用: 创建目录。虽然,它似乎工作正常(没有异常被抛出)我找不到文件夹/目录在文件系统的任何地方。我做错了什么吗?

  • 问题内容: MySQL很棒!我目前参与大型服务器迁移,以前,我们的小型数据库曾经托管在与客户端相同的服务器上。 所以我们曾经这样做: 现在,我们将数据库移至另一台服务器,并且不再工作,这是可以理解的- 我认为是安全原因。但是,有趣的是,可以将其更改为bam,并且可以使用。 我没有抱怨,也没有对MySQL表示厌恶。替代方法是添加两行额外的代码和一个系统调用以形成一个.sql脚本。我只想知道为什么会起

  • 问题内容: 我有一个定义如下的类: 为什么我在声明之前出现错误 我只是在这里将整数变量的值与0进行比较。根据错误,我需要创建一个类。请让我知道这里出了什么问题。 问题答案: 您需要在可执行块(方法,静态初始化程序,构造函数等)中编写语句

  • 有几个相关的问题,但我找不到一个能反映我的情况的。 我正在使用SXSSFWorkbook和SXSSFSheet对象编写一个带有ApachePOI的Excel“xlsx”文件。文件创建时没有问题,在LibreOffice中可以正常打开,但是Excel在打开文件时会发出抱怨。 Excel在test-file.xlsx中发现无法读取的内容。要恢复工作簿的内容吗?如果信任此工作簿的源,请单击是。 当选择“

  • 我试图使用container:start命令运行带有sbt的scalatra,但我得到“Assertion failed:No lifecycle class found!”消息,这是我用“Last Container:Start”获得的完整堆栈跟踪: 这是我的生命周期文件,名为:“ScalatrabootStrap.scala”,它的内容是:

  • 我希望你今天过得愉快! 我是新来的Docker我想我的问题和docker的目录树有关 我的应用程序将文件写入目录,然后在一段时间后再次读取该文件。 我的应用程序出现了这个错误。 我的停靠应用程序无法创建文件并读取。我认为Docker将目录视为主机的绝对目录。我以为容器会写入容器目录树中的目录。 所以问题是: 如何在containers目录树中指定写入文件的路径?