如何将大型数据集导入 mysql - 正确的方法?

发布于 2024-12-01 20:02:10 字数 254 浏览 2 评论 0原文

我有一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

油焖大侠 2024-12-08 20:02:10
mysql databaseName < mybackup.sql

我认为这已经是最快的了。

mysql databaseName < mybackup.sql

That is as fast as it gets, I think.

眼眸印温柔 2024-12-08 20:02:10

如果尚未完成,您可以在导入之前使用 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 will COMMIT after every INSERT 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文