我有一个很大的csv文件,我正试图导入mysql(大约45gb,大约150mil行,大多数列很小,但是一个文本长度可变,可以达到kbs大小)。我正在使用load data local infle尝试导入它,但是服务器总是在连接完成之前超时。我尝试过修改全局连接超时变量来解决这个问题,但是它在超时之前已经有几个小时了。有没有其他方法可以导入这么大的数据库,或者我的方法有什么问题?
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE table CHARACTER SET latin1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';
我在windows10上用mysql命令行执行这个命令。我的mysql版本是8.0。
1条答案
按热度按时间ep6jt1vc1#
我过去处理这个问题的方法是编写一个php脚本,读取文件并将前50%输出到一个新文件中,然后删除这些行。然后执行两个加载数据填充,一个用于原始数据,一个用于新数据。