mongodb数据迁移(mongorestore,mongoimport)出错
我现在想将本地的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我刚去试了一下,我从2.6.6 dump出来,然后在2.6.10 和 3.2.11中restore 都是成功的。应该不是版本问题,版本都是向下兼容的。
可能是数据问题?
我这没那么大的数据,不好测。你换小点表试试。
仔细看文档,跨版本的升级是明确禁止的。正确的姿势是逐版本升级。两个选择:
在本地逐版本升级到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进行,才能保证最终得到正确的结果。