使用SELECT语句将非常大的MySQL表导出到.CSV?

时间:2015-12-15 02:39:10

标签: mysql export mysqldump export-to-csv

我有一个包含~1B行的MySQL表。我需要将每行中的一列导出为CSV。

  1. 我尝试过以下操作,但查询使用了我导出查询的本地计算机上的所有内存,mysql进程被终止。

    mysql -uuser -ppass -h host.com --database=dbname -e "select column_name FROM table_name" > column_name_export.csv

  2. 我无法使用SELECT INTO OUTFILE因为MySQL实例在Amazon RDS中运行而且我无法访问服务器。

  3. 是否有MySQL实用程序可以批量导出,或者我是否需要编写脚本来选择ID范围?

1 个答案:

答案 0 :(得分:0)

一种方法是使用Server-side cursors

但是在我的情况下,甚至服务器的内存都用完了(用于非常大的表),所以我选择将文件分成多个批次,按任何ID排序。