如何将大型数据集导入 mysql - 正确的方法?
我有一个 400MB *.sql 文件,它是来自 MySQL 数据库的转储。我现在想将其导入到新数据库中。我使用了 phpmyadmin,但几分钟后它就中断了,因为它无法处理如此大的数据集(达到最大文件大小限制)。所以我使用了以下方法:
通过 SSH 登录。 通过mysql工具选择数据库。 命令: source mybackup.sql
现在查询正在运行,但现在已经运行了 3 个多小时。出了什么问题还是真的需要这么长时间?
谢谢, 世界西尼亚
I have a 400MB *.sql file which is a dump from a MySQL database. I now want to import this to a new database. I used phpmyadmin but it breaks after a few minutes because it cannot handle such large dataset (max file size limit is reached). So I used the following:
logged in via SSH.
selected the database via mysql tool.
command: source mybackup.sql
Now the queries run but it is running over 3 hours now. What is wrong or does it really take so long?
Thanks,
WorldSignia
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为这已经是最快的了。
That is as fast as it gets, I think.
如果尚未完成,您可以在导入之前使用
set autocommit=0
关闭自动提交。否则,InnoDB 将在每个INSERT
语句之后COMMIT
。它可能对一些人有帮助。您还可以关闭辅助唯一键和外键来提供帮助。有关更多想法,请参阅此链接:
http: //dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-bulk-data-loading.html
If it's not done already, you can use
set autocommit=0
to turn off autocommit before you import. Otherwise InnoDB willCOMMIT
after everyINSERT
statement. It may help some.You can also turn off secondary unique keys and foreign keys as well to help. See this link for more ideas:
http://dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-bulk-data-loading.html