我有一个包含超过一百万条insert语句的sql文件。由于其大小,用于MySQL管理的官方工具无法打开它。可以使用BASH脚本插入记录吗?
到目前为止,我试过了,但它不起作用。
while read line
do
mysql -u root --password=root << eof
use dip;
$line;
eof
done < $1发布于 2012-02-05 19:21:28
mysql -u root --password=root <mysqlfile.sql发布于 2012-02-05 19:22:38
试试这个:
while read line
do
mysql -u root --password=root -c "$line"
done < $1备注:
如果sql包含双引号("),则必须对其进行转义。如果SQL语句超过多行,则必须解决此问题。
这种方法的优点是每一行都有自己的事务,而如果启动整个文件,可能会使日志变得如此之大
https://stackoverflow.com/questions/9148789
复制相似问题