【发布时间】:2011-12-10 20:23:26
【问题描述】:
类似如下的mysqldump命令:
mysqldump -u<username> -p<password> -h<remote_db_host> -T<target_directory> <db_name> --fields-terminated-by=,
将为每个表写出两个文件(一个是架构,另一个是 CSV 表数据)。要获得 CSV 输出,您必须指定目标目录(使用 -T)。当 -T 传递给 mysqldump 时,它将数据写入运行 mysqld 的服务器的文件系统 - 而不是发出命令的系统。 有没有一种简单的方法可以从远程系统转储 CSV 文件?
注意:我熟悉使用简单的 mysqldump 和处理 STDOUT 输出,但我不知道如何在不进行大量解析的情况下以这种方式获取 CSV 表数据。在这种情况下,我将使用 -X 选项并转储 xml。
【问题讨论】:
-
您是否有幸找到了解决方案?
-
抱歉 - 还没有。我认为 xml 选项是您最好的选择(假设您使用的是足够新版本的 mysql)
-
我确实可以访问远程主机,但是 SELECT INTO FILE 失败了,所以我最终使用了这个:mysql -h"host" -u"user" -p"password" -e “选择 * FROM mydb.mytable” > /tmp/table.csv。然后从我的本地机器: scp my_user@remote_server:/tmp/table.csv ~/table.csv
标签: mysql csv export mysqldump