首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入维基百科数据库转储-杀死navicat -有人有什么想法吗?

问导入维基百科数据库转储-杀死navicat -有人有什么想法吗?
EN

Stack Overflow用户
提问于 2009-05-14 10:26:38
回答 3查看 783关注 0票数 1

好的,伙计们,我已经下载了wikipedia xml转储,它的数据量高达12 GB :\,我想将它导入本地主机上的mysql数据库--但是它是一个巨大的文件,12 GB,而且显然导航器占用了导入它的甜蜜时间,或者它更可能是挂起的:( )

有没有办法包括这个转储,或至少部分,你知道一点点。

让我更正一下,它的21 GB数据--这并不是说它有帮助:\ --是否有人知道将这样的大型文件导入到MySQL数据库中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-14 13:13:40

使用命令行代替,navicat是可怕的导入大文件,并可能需要比使用CLI长20倍。

票数 2
EN

Stack Overflow用户

发布于 2009-05-14 10:45:43

查看一下Sax解析器,它允许您逐段阅读语料库,而不是将整个12 by读入内存。不过,我不太确定您将如何与mysql接口。

票数 1
EN

Stack Overflow用户

发布于 2014-08-28 00:53:08

这是个很老的问题,FWIW..用一个新的答案来提神。我遇到了同样的问题,运行一个大型sql文件的时间可能会有风险,而遇到任何问题基本上意味着您将重新开始。我做了些什么来降低风险并通过CLI获得一些性能。

  1. 将大量的SQL文件分割成更小、更易于管理的块,例如'enwiki-20140811-page.sql‘拆分成大约75 for大小的文件。 拆分-l 75 enwiki-20140811-page.sql split_ 将产生相当数量的文件,文件名中以“split_”为前缀。
  2. 迭代这个文件列表,每次导入一个.一个简单的shell脚本。 对于$FILES中的f,请回显“处理$f文件.”mysql -h $HOST -u $USER -p$PSWD $DB < $f完成

如果这种情况因某种原因而中断,您可以轻松地恢复原来的状态。

通过行计数拆分SQL文件可防止中断任何大型INSERT语句。但是,如果删除行数太低,则可以在SQL开头拆分drop和CREATE语句。这很容易通过打开前几个拆分文件并进行解析来解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/862613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档