mongodb数据迁移(mongorestore,mongoimport)出错

发布于 2022-09-04 04:48:28 字数 548 浏览 15 评论 0

我现在想将本地的Mongo数据(50GB)迁移到阿里云上(内存1G)。本地版本是v2.4.9,服务器上是v3.2.11

  • 但是我使用mongodump将数据导出,传到阿里云上后用mongorestore恢复,恢复到1.8%左右就会出错。应该是内存不足引起的。
    错误提示Failed: sof.test: error restoring from /root/sof/test.bson.gz: insertion error: EOF

  • 我同时测试了mongoexport/mongoimport命令 都是同样的错误。

  • 我又进行了再次测试:我本地用另一台电脑装了mongo v3.2版本的,将本地v2.4.9机子上的数据导出来,传到阿里云服务器(mongo v3.2.11)上,mongorestore出现同样的错误。

我在阿里云上部署用mongo v2.x版本的话,就可以将数据恢复成功。

所以可能是 v2到v3 之间的问题,也可能是v3本身的问题?但是感觉后者可能性不大。
求问,如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

骄兵必败 2022-09-11 04:48:28

我刚去试了一下,我从2.6.6 dump出来,然后在2.6.10 和 3.2.11中restore 都是成功的。应该不是版本问题,版本都是向下兼容的。
可能是数据问题?
我这没那么大的数据,不好测。你换小点表试试。

窗影残 2022-09-11 04:48:28

仔细看文档,跨版本的升级是明确禁止的。正确的姿势是逐版本升级。两个选择:

在本地逐版本升级到3.2再导出到远程

你的情况应该是:2.4.9 -> 2.6.x -> 3.0.x -> 3.2.11
最后再拿3.2.11中导出的数据去mongorestore。

在远程安装2.4.9再升级到3.2.11

过程同样遵循以上流程。
每个版本的升级都要按照相应版本的Upgrade Notes进行,才能保证最终得到正确的结果。

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