如何将超过一百万条记录插入MySQL数据库?

时间:2012-02-05 11:19:17

标签: mysql linux bash

我有一个包含超过一百万个插入语句的sql文件。 MySQL管理的官方工具因其大小而无法打开它。是否可以使用BASH脚本插入记录?

到目前为止我尝试了这个但是它不起作用。

while read line
do
    mysql -u root --password=root << eof
    use dip;
    $line;
    eof
done < $1

2 个答案:

答案 0 :(得分:3)

mysql -u root --password=root <mysqlfile.sql

答案 1 :(得分:1)

试试这个:

while read line
do
    mysql -u root --password=root -c "$line"
done < $1

注意:
如果sql包含双引号("),你将不得不逃避它们 如果SQL语句超过了多行,你就必须弄清楚

这种方法的优点是每一行都有自己的事务处理,而如果你触发整个文件,它可能会使日志变得如此大的变化集