9

我在服务器 a 上有一个 shell 脚本。该脚本将一个 csv 文件输出到本地目录。问题是数据库服务器在服务器 b 上。如何在这样的设置中使用select * into outfile

我明白了

Can't create/write to file '/home/username/test.csv/' (Errcode: 2)

通过使用'LOCAL'关键字解决了加载数据文件。outfile 有类似的东西吗?

4

2 回答 2

19

select into outfile只能在服务器上创建文件,不能在客户端。

以下是手册针对您的情况推荐的内容:

如果要在服务器主机以外的某个客户端主机上创建结果文件,则不能使用 SELECT ... INTO OUTFILE。在这种情况下,您应该改用诸如 mysql -e "SELECT ..." > file_name 之类的命令在客户端主机上生成文件。

http://dev.mysql.com/doc/refman/5.1/en/select.html

于 2010-05-10T18:08:33.203 回答
2

使用以下命令:

mysql -uusername -ppassword -h DBIP DBNAME -e \
"SELECT * FROM tablename" > /destinationpath/outputfilename.csv
于 2017-12-22T05:42:35.187 回答