我计划将现有的MongoDB安装从3.6(或4.0,视需要而定)升级,并且我发现有必要在此过程中进行增量更新,即需要先将3.4升级到3.6,再升级到4.0 。这个过程看起来很乏味,我想知道是否有一种方法可以在版本之间迁移现有数据,特别是对于3.4到4.0或<3.4到3.6(即介于两者之间的一个或多个版本)的情况。
例如,是否可以通过mongodump
从旧版本中转储数据,并通过mongorestore
将其恢复到新版本中,这样可以正常工作并在此过程中保留诸如索引之类的信息?
答案 0 :(得分:0)
您可以使用mongodump
进行备份,并使用mongorestore
进行恢复。
默认情况下,mongodump在内部生成一个名为
..indexes.bson
的文件 每个数据库的转储目录。mongorestore
将该文件最后加载到数据库中。正在加载 文件将在新数据库中建立索引。这些中只有元数据 文件,因此加载它将创建索引。
因此,通过使用mongodump
和mongorestore
DB
索引可以保留。
有关升级Mongo版本的最佳做法。
请检查:
https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/ https://optimalbi.com/blog/2018/05/16/upgrading-mongodb-3-4-to-3-6-on-ubuntu-16-04-easy-as-microwave-pie/
注意->为安全起见,在更新之前创建备份。