Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在无意升级mongo版本后升级较旧的mongo数据库_Mongodb_Archlinux - Fatal编程技术网

Mongodb 在无意升级mongo版本后升级较旧的mongo数据库

Mongodb 在无意升级mongo版本后升级较旧的mongo数据库,mongodb,archlinux,Mongodb,Archlinux,在无意中升级了mongodb包(3.4.9->3.6.1)之后,有没有办法升级mongo数据库 根据mongo文档,作为升级的一部分,必须从mongocli工具设置featureCompatibilityVersion,但是,该工具需要一个运行的mongod数据库守护进程,如果mongodb软件包已升级且数据库未设置featureCompatibilityVersion标志,则不会运行 我在ArchLinux上,我在IgnorePkg中使用了mongodb,但它的依赖项boost libs和wi

在无意中升级了mongodb包(3.4.9->3.6.1)之后,有没有办法升级mongo数据库

根据mongo文档,作为升级的一部分,必须从
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
相关工具)?删除数据库并重新启动不是一个选项。

我通过在一个系统上安装旧版本的mongodb解决了这个问题,对于这个系统来说,预打包(Windows 10,尽管官方声明包是针对Windows Server 2008的),复制数据库文件并不是一个问题(内容为
/var/lib/mongodb
),使用
--dbpath
参数(
mongod--dbpath/path/to/dbfiles
)运行它,根据设置的设置兼容性标志,最后将db文件复制回服务器


我想知道一个更好的选择,但很高兴知道db文件可以轻松地转移到另一个系统,甚至是另一个体系结构(虽然db相对简单和小)。

这里有类似的问题,无意中从
4.2.1
升级到
4.4.3
,然后mongodb无法启动

最终工作解决方案:

  • 卸载(最新但未工作的版本:
    4.4.3
  • brew卸载mongodb社区

  • 重新安装,旧但工作正常
    4.2.1
  • brew安装mongodb-community@4.2

    • 目前:
      brew服务运行mongodb-community@4.2
    • 现在并设置为可引导:
      brew服务启动mongodb-community@4.2
  • 检查状态

  • brew services

    我也面临着同样的问题。我不敢相信这种情况有多愚蠢,但我很感激你的解决方案。我想试一试,看看它是否有效。呃。你能解释一下吗。我遇到了同样的问题,但这个解决方案对我不起作用。我有一个Mongo 3.4并升级了它(没有注意)到3.6没有标志。所以实际上Mongo 3.6无法启动,因为没有设置标志。3.4无法启动,因为db文件是3.6格式的…我试图获得另一个Mongo 3.4安装,将文件放入其中并启动“Mongo--dbpath”,但仍然无法启动smae错误(WiredTiger错误(-31802)如果在将db文件移动到另一台服务器后无法启动mongo,那么运行此操作的任何人都应该尝试此操作:mongo--dbpath--repair