【发布时间】:2018-07-01 02:01:11
【问题描述】:
mongodb包无意升级后(3.4.9 -> 3.6.1)有什么方法可以升级mongo数据库?
根据 mongo 文档,作为升级的 prerequisite,必须从 mongo cli 工具设置 featureCompatibilityVersion,但是,它需要一个正在运行的 mongod 数据库守护程序,但是,如果 mongodb 包已经升级并且数据库没有设置 featureCompatibilityVersion 标志,则不会运行。
我在 ArchLinux 上,我在 IgnorePkg 中有 mongodb,但它的依赖项 boost-libs 和 wiredtiger 无论如何都升级了。由于 pacman 缓存已经被清除,我自己编译了旧版本的包,但运行 mongodb 一直失败并出现此错误:
unsupported WiredTiger file version: this build only supports major/minor versions up to 1/0, and the file is version 2/0: WT_ERROR: non-specific WiredTiger error
我不知道这到底是什么意思(wiredtiger 的问题版本是 2.9.3-1,升级后的版本是 2.9.3.20171205-2)。
好像我既不能降级也不能升级...
其他 cli 工具(例如 mongodump)在没有运行数据库的情况下也无法运行,是否还有其他可能性(一些 wiredtiger 相关工具)?删除数据库并重新开始不是一种选择。
【问题讨论】: