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

问题描述 投票:4回答:1

我有一个MySQL表,有大约1B行。我需要将每行中的一列导出到一个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中运行的,我无法访问服务器。

是否有一个MySQL实用程序来批量导出,或者我需要写一个脚本来选择id的范围?

mysql export mysqldump export-to-csv
1个回答
0
投票

一种方法是使用 服务器端光标.

但在我的情况下,即使是服务器也耗尽了内存(对于非常大的表),所以我选择了将文件分割成多个批次,按任意id排序。

© www.soinside.com 2019 - 2024. All rights reserved.