我有带有一些索引的 mongodb 2.4 数据库。现在我想将该版本升级到 3.0。我在谷歌上搜索,但没有找到任何明确的答案。我尝试安装 3.0 但它给了我索引错误。有人对此有想法吗?
回答:
我能够升级数据库。以下是步骤: 1. 安装 mongodb 2.6 2. 更新管理集合的索引 db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 }); 3.安装mongodb 3.0
小智 5
升级要求 要将现有的 MongoDB 部署升级到 3.0,您必须运行 2.6。如果您运行的是 2.6 之前的 MongoDB 版本,则必须先升级到 2.6,然后再升级到 3.0。有关从 2.4 升级到 2.6 的过程,请参阅将 MongoDB 升级到 2.6。升级到 MongoDB 2.6 后,您无法降级到 MongoDB 2.4 之前的任何版本。
http://docs.mongodb.org/manual/release-notes/2.6-upgrade/
如果您尝试使用 WiredTiger 作为存储引擎,那么在使用 2.6 之后要记住的最重要的事情之一,您确实需要通过连接到当前的 mongodb 版本来获取 mongodump,然后使用不同的数据库路径切换到 mongodb 3.0,
IMP:您将无法使用现有数据库路径作为 mmapv1 上的先前存储
使用命令:mongod --storageEnginewiredTiger --dbpath
mongodump 和 mongorestore 可以对正在运行的 mongod 进程进行操作,分别用于备份和恢复备份。
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.
Run Code Online (Sandbox Code Playgroud)
您的数据可能已损坏。在更新到 3.0 之前必须先更新到 2.6 。详情请参阅下文。
你有个问题。在摆弄和更新任何软件之前阅读发行说明是最佳实践,MongoDB 的发行说明也不例外。
如果您阅读了它们和链接的升级指南,您会注意到该过程是在安装到 3.0 之前更新到 2.6
最有可能发生的情况是mongod
假设数据采用 2.6 格式并进行相应转换,这将导致数据损坏。
然而,数据仍有可能被转换的可能性很小。
这里有两种情况。如果您没有备份,我们需要尝试使用当前数据。它可能会成功,也可能不会。
另一种情况是,您确实有备份,这提供了两种情况:使用 mongodump 创建的备份或使用文件系统备份。如果有备份的话,基本可以保证数据可以恢复。
mongod
。尝试访问您的数据。如果您可以访问您的数据,那么您很幸运。;) 如果你做不到,接下来的步骤可能不会有帮助,但也不会造成伤害,因为情况不会再变得更糟了。mongod
归档时间: |
|
查看次数: |
11280 次 |
最近记录: |