首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mongodb从2.4升级到3.0

将mongodb从2.4升级到3.0
EN

Database Administration用户
提问于 2015-03-15 07:37:56
回答 2查看 11.4K关注 0票数 5

我有一些索引的MongoDB2.4数据库。现在我想把那个版本升级到3.0。我在谷歌上搜索,但没有找到任何确切的答案。我试着安装3.0,但是它给了我索引错误。有人知道这件事吗?

答案:

我可以升级DB。下面是步骤: 1.安装MongoDB2.6. 2.更新管理集合的索引db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1};3.安装MongoDB3.0

EN

回答 2

Database Administration用户

发布于 2015-03-16 08:21:42

要将现有的MongoDB部署升级到3.0,则必须运行2.6。如果在2.6之前运行MongoDB版本,则必须在升级到3.0之前升级到2.6。有关从2.4升级到2.6的过程,请参见将MongoDB升级到2.6。升级到MongoDB 2.6之后,您就不能降级到MongoDB 2.4之前的任何版本。

http://docs.mongodb.org/manual/release-notes/2.6-upgrade/

在2.6版之后,需要记住的最重要的一件事是,如果您试图使用WiredTiger作为存储引擎,您确实需要连接到当前的mongodb版本,然后使用不同的db路径切换到MongoDB3.0,这是非常重要的,

IMP:您将无法使用现有的DB路径作为mmapv1上的先前存储。

命令使用:--dbpath

mongodump和mongorestore可以针对正在运行的单神进程进行操作,并分别用于备份和恢复备份。

http://docs.mongodb.org/manual/reference/configuration-options/

代码语言:javascript
复制
storage.engine
Default: mmapv1

New in version 3.0.0.

Specifies the storage engine for the mongod database. 
Valid options include mmapv1 and wiredTiger.

If you attempt to start a mongod with a storage.dbPath 
that contains data files produced by a storage engine other 
than the one specified by storage.engine, 
mongod will refuse to start.
票数 5
EN

Database Administration用户

发布于 2015-03-15 21:53:25

tl;

博士

您的数据可能已损坏。在更新到3.0之前,更新到2.6是强制性的。详情见下文。

问题

你有问题了。在修改和更新任何软件之前阅读发布说明是最好的做法,MongoDB的发行说明也不例外。

如果您阅读了它们和链接升级指南,您就会注意到,在安装到3.0之前,这个过程将更新到2.6。

最可能发生的情况是,mongod假定数据格式为2.6,并相应地对其进行转换,这将导致数据损坏。

然而,数据仍然可以转换的可能性很小。

解决方案(可能)

这里有两种情况。如果您没有备份,我们需要尝试处理当前数据。可能会成功也可能不会。

在另一种情况下,备份本身提供了两种情况:一种是使用mongodump创建的备份,另一种是使用文件系统备份。如果您有备份,基本上可以保证数据可以恢复。

...没有备份的

  1. 复制数据目录。以防万一。
  2. 完全卸载MongoDB。
  3. 安装MongoDB 2.4
  4. 启动mongod。尝试访问您的数据。如果你能访问你的数据,认为自己是幸运的。如果你做不到,接下来的步骤可能不会有帮助,但它们也不会造成伤害,因为它不会再变得更糟了。
  5. 停止mongod
  6. 阅读和理解升级指南到MongoDB2.6
  7. 跟着信走
  8. 阅读和理解升级指南到MongoDB3.0
  9. 跟着信走
  10. 恭喜,你真幸运!

...使用备份的

  1. 卸载MongoDB
  2. 删除数据目录的内容
  3. 安装MongoDB 2.4
  4. 恢复备份
  5. 阅读和理解升级指南到MongoDB2.6
  6. 跟着信走
  7. 阅读和理解升级指南到MongoDB3.0
  8. 跟着信走
  9. 恭喜你做了后援,救了你的命!)
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/95305

复制
相关文章

相似问题

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