我正在尝试将具有650k +行的+ 75mb csv文件加载到Centos Linux上的MySQL服务器中。这只是一个例子。我也尝试过350mb文件和1.75m行。
我已经通过命令行尝试了这两种MySQL导入功能。 每次将同一个文件导入空表时,行计数不同(不一致)。
以下是我的结果:
以及开启,开启等等......
我尝试过这两种不同的导入方法:
mysql -u root -ppassword --execute="USE DBNAME;LOAD DATA INFILE '/home/scripts/extracts/NAMEOFTABLE.CSV' INTO TABLE NAMEOFTABLE FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';" --show-warnings
输出为空,没有警告或错误(我以前见过它们所以我知道它有效)
mysqlimport -u root -ppassword --fields-terminated-by=, --local DBNAME /home/scripts/extracts/NAMEOFTABLE.CSV
这将输出: DBNAME.NAMEOFTABLE:记录:647435已删除:0跳过:0警告:647435
首先令人兴奋,但后来我检查了DB中的行,它只有640,480。 :(
我已经好几天了。谢谢你的帮助。
答案 0 :(得分:0)
尝试此查询从phpmyadmin或任何其他mysql客户端
导入csv在触发查询之前,请确保已将匹配字段的表创建到db。
LOAD DATA LOCAL INFILE '/home/scripts/extracts/NAMEOFTABLE.CSV' INTO TABLE `tbl_csvs`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(comma separated fields name here field1, field2, field3);