2017-05-02 37 views
1

我想导入一个40GB的.sql文件到一个新的MySQL数据库。有没有其他选择BigDump?大约30分钟后,连接在BigDump上超时。理想情况下,我可以找到具有某种类型进度条的解决方案。MySQL:BigDump替代导入巨大文件

谢谢!

回答

1

1)将1文件拆分为N行(通常我建议100,000),这将创建(文件/ N中的总行数)文件。

2)创建一个没有索引的新表。

3)运行一个for循环bash脚本来分别在自己的事务中加载每个文件。

4)添加索引,如果必要

5)删除/重命名你想更换新表重命名为生产(如有必要)现有的表。

该选项有很多原因,它可以帮助快速查找问题(例如意外跳过的行),快速洞察负载的有效性,并分块加载以避免大量单一交易以及故障点。

我从来没有使用BigDump,但我会推测它做了类似的事情。

类似Q & A:Copying 3B rows in SQL Table?