我被困。我基本上想使用Outfile命令从远程数据库创建本地数据文件(CSV文件)。

我基本上是在提取数据..并希望在我的本地文件服务器上与在远程服务器上创建外档。我远程限制空间,因此我想在本地创建文件。我在如何做到这一点上错过了什么?谢谢!

这是我在命令行上到目前为止的工作语法(它正在创建我想要的文件,但在远程服务器上)

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 INTO OUTFILE '/tmp/mytest.csv' FIELDS TERMINATED BY ','  FROM tst_p000 limit 10"
有帮助吗?

解决方案

根据 MySQL选择语法, ,您不能使用外档来输出服务器本身之外的文件。

您需要将查询的选项卡删除输出转换为CSV格式(这样)SED命令在这里归功于).

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 " | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > myDump.csv
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top