代码之家  ›  专栏  ›  技术社区  ›  Krrish Raj

将MongoDB从3.4升级到3.6

  •  1
  • Krrish Raj  · 技术社区  · 7 年前

    我正在尝试将我的单节点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"
    }
    
    3 回复  |  直到 7 年前
        1
  •  0
  •   Krrish Raj    7 年前

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

        2
  •  0
  •   mehta-rohan    7 年前

    作为官方定义:它启用或禁用与MongoDB早期版本不兼容的持久数据功能(*表示低于当前版本)。例如,如果我有Mongo3.6,那么我必须担心以前的版本,而不是当前的版本。您是否试图为同一版本本身设置兼容性?该错误还建议您的系统只需要映射以前的版本。即低于当前安装的版本。

        3
  •  0
  •   Bruno Marcelino    7 年前

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

    如果您使用ubunt操作系统,请尝试以下操作:

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

    奔跑 sudo systemctl stop mongod _157;和MongoDB将停止。

    步骤2:导入MongoDB公钥

    奔跑 sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 _157;并且密钥是为您导入的!

    步骤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 _157;这将使APT更新系统中的所有过期软件包。好玩! 如果它要求替换/etc/mongod.conf上的文件,只需说“否”即可保留设置。

    步骤5:启动MongoDB

    奔跑 sudo systemctl start mongod _我们正在运行。就这么简单!