我有一个MySQL表,有大约1B行。我需要将每行中的一列导出到一个CSV中。
我已经尝试了以下方法,但该查询使用了我导出查询的本地机器上的所有内存,而且还使用了 mysql
进程会被杀死。
mysql -uuser -ppass -h host.com --database=dbname -e "select column_name FROM table_name" > column_name_export.csv
我不能使用 SELECT INTO OUTFILE
因为MySQL实例是在Amazon RDS中运行的,我无法访问服务器。
是否有一个MySQL实用程序来批量导出,或者我需要写一个脚本来选择id的范围?
一种方法是使用 服务器端光标.
但在我的情况下,即使是服务器也耗尽了内存(对于非常大的表),所以我选择了将文件分割成多个批次,按任意id排序。