我有一些索引的MongoDB2.4数据库。现在我想把那个版本升级到3.0。我在谷歌上搜索,但没有找到任何确切的答案。我试着安装3.0,但是它给了我索引错误。有人知道这件事吗?
答案:
我可以升级DB。下面是步骤: 1.安装MongoDB2.6. 2.更新管理集合的索引db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1};3.安装MongoDB3.0
发布于 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/
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.发布于 2015-03-15 21:53:25
博士
您的数据可能已损坏。在更新到3.0之前,更新到2.6是强制性的。详情见下文。
你有问题了。在修改和更新任何软件之前阅读发布说明是最好的做法,MongoDB的发行说明也不例外。
如果您阅读了它们和链接升级指南,您就会注意到,在安装到3.0之前,这个过程将更新到2.6。
最可能发生的情况是,mongod假定数据格式为2.6,并相应地对其进行转换,这将导致数据损坏。
然而,数据仍然可以转换的可能性很小。
这里有两种情况。如果您没有备份,我们需要尝试处理当前数据。可能会成功也可能不会。
在另一种情况下,备份本身提供了两种情况:一种是使用mongodump创建的备份,另一种是使用文件系统备份。如果您有备份,基本上可以保证数据可以恢复。
mongod。尝试访问您的数据。如果你能访问你的数据,认为自己是幸运的。如果你做不到,接下来的步骤可能不会有帮助,但它们也不会造成伤害,因为它不会再变得更糟了。mongodhttps://dba.stackexchange.com/questions/95305
复制相似问题