我有一个包含超过一百万个插入语句的sql文件。 MySQL管理的官方工具因其大小而无法打开它。是否可以使用BASH脚本插入记录?
到目前为止我尝试了这个但是它不起作用。
while read line
do
mysql -u root --password=root << eof
use dip;
$line;
eof
done < $1
答案 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语句超过了多行,你就必须弄清楚
这种方法的优点是每一行都有自己的事务处理,而如果你触发整个文件,它可能会使日志变得如此大的变化集