导入一个260GB的csv文件到MySQL

我有一个非常大的csv〜260GB,我想把它导入到MySQL中。 我在MacOS中使用以下的mysql脚本

DROP TABLE IF EXISTS tmp_catpath_5;

创build表tmp_catpath_5(a1 BIGINT(20),a2 BIGINT(20),a3 BIGINT(20),a4 BIGINT(20),a5 BIGINT(20),c1 BIGINT(20),c2 BIGINT(20),c3 BIGINT ),c4 BIGINT(20),c5 BIGINT(20),INDEX(a5));

将数据本地文件'/卷/时间机器备份1 / tmp_catpath_5.csv'加载到表中tmp_catpath_5 FIELDS TERMINATED BY','ENCLOSED BY'“'LINES TERMINATED BY'\ n';

它适用于较小的文件,例如150GB,但是对于这个大小,数据库在加载命令之后立即消失

错误1049(42000):未知的数据库

是否有MySQL大小限制? 还有别的吗? 我使用MAMP应用程序(LAMP for MacOS)中的MySQL,它可以不同于官方的MySQL应用程序吗?

我不知道是否有特定的数据库引擎的限制,但我已经遇到了一些pipe理MySQL系统,每天import10TB的一些国防部pipe理员,他们没有遇到这种问题。

我不推荐使用macros,而是build议编写一个脚本来parsinginput文件,并从中创build插入语句,这些语句可以直接input到MySQL中。 这样你就不会一次处理整个文件,每次只处理一行。 我喜欢用Perl来做这样的事情。

你也可以考虑使用truncate,而不是每次丢弃table并重新创build它。

虽然这没有真正回答你的问题,是否有可能将文件分成更小的块,你已经考虑过? unix实用程序“split”可以轻松处理。

当你说“崩溃”,你的意思是MySQL客户端或服务器? 是否显示任何错误?