通过CSV快速将超过一百万条记录导入MySQL

时间:2018-07-08 11:20:39

标签: mysql csv

我有一个大约有657,000条记录的CSV文件。
我想将此插入我的MySQL数据库。

<?php
$handle = fopen("tdvddir.csv", "r");
$data = fgetcsv($handle, 1000, ",");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
    echo "INSERT INTO `tdvddir` VALUES ('', '{$data[0]}', '{$data[1]}', '{$data[2]}', '{$data[3]}', '".addslashes($data[4])."');\n";
}
fclose($handle);
?>

php csv-sql.php > temp.sql
nohup mysql --user=root --database=data --password=password < temp.sql &

问题是,这花费了太多时间。已经超过7个小时了,到目前为止只有一半多一点被插入。

我什至尝试通过command-line导入CSV。

load data local infile 'tdvddir.csv' into table data.tdvddir
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(col2, col3, col4, col5, col6);

ERROR 1148 (42000): The used command is not allowed with this MySQL version

mysql --version

mysql  Ver 14.14 Distrib 5.5.60, for debian-linux-gnu (x86_64) using readline 6.3


这是在我的Ubuntu 14.04笔记本电脑上,而不是任何服务器上。

0 个答案:

没有答案