将Mongodb从3.4升级到3.6

时间:2018-09-11 06:08:54

标签: mongodb

我正在尝试将单节点mongodb集群从3.4升级到3.6。
一切正常,但我无法将功能兼容性更改为3.6。 当我尝试-

  

db.adminCommand({setFeatureCompatibilityVersion:“'3.6'”})

我收到一条错误消息-

{
"ok" : 0,
"errmsg" : "Invalid command argument. Expected '3.4' or '3.2', found '3.6' in: { setFeatureCompatibilityVersion: \"'3.6'\" }. See http://dochub.mongodb.org/core/3.4-feature-compatibility.",
"code" : 2,
"codeName" : "BadValue"
}

4 个答案:

答案 0 :(得分:0)

由于某种原因,我的数据库版本未更新,可能是某些依赖关系搞砸了。我使用purge选项卸载了当前安装,然后重新安装了mongodb,它解决了该问题。
如果使用清除选项,请不要忘记为配置文件创建备份。

答案 1 :(得分:0)

作为官方定义:它启用或禁用用于保留与MongoDB的早期版本(*表示比当前版本更低的版本)不兼容的数据的功能。因此,例如,如果我安装了mongo3.6,则必须担心以前的版本,而不是当前的版本。您是否正在尝试为自己的同一版本设置兼容性?该错误还表明您的系统仅需要映射以前的版本。即版本低于您当前安装的版本。

答案 2 :(得分:0)

您似乎发布了带有双引号和单引号的错误(使您发布的错误消息有意义:-))。

db.adminCommand( { setFeatureCompatibilityVersion:"'3.6'" } )

应该是:

db.adminCommand( { setFeatureCompatibilityVersion:"3.6" } )

此外,您可能想从这些instructions中了解有关“ FCV”的更多信息。

答案 3 :(得分:-1)

您可以尝试遵循此网站Upgrade a Standalone to 3.6上的说明

,如果您使用的是Ubunt OS,请尝试以下操作:

步骤1:停止旧的Mongod服务器

运行“ sudo systemctl stop mongod”,MongoDB将停止。

步骤2:导入MongoDB公钥

运行“ sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5”,密钥将为您导入!

第3步:更新apt / MongoDB的列表文件

要删除旧列表,请运行“ sudo rm /etc/apt/sources.list.d/mongodb-org-3.4.list” 现在,用“ echo “deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list”添加新的 运行“ sudo apt-get update”以更新apt的列表。

第4步:升级MongoDB安装

最简单的方法是运行“ sudo apt-get upgrade -y”,这将使apt更新系统中所有过时的软件包。好玩! 如果它要求替换/etc/mongod.conf中的文件,只需说“否”以保持设置不变。

第5步:启动MongoDB

运行“ sudo systemctl start mongod”,我们就可以运行了。就这么简单!