• MongoDB升级步骤


    目录

    注意事项

    安装包

    单机模式

    集群模式

    注意事项

    升级之前的版本为3.4.7,由于客户扫描发现漏洞,因此,需要对mongodb进行升级。根据漏洞扫描的结果,我们仅需升级到4.2.22即可。如果后续还有漏洞扫出,则需要升级到更高的版本。

    安装过程中,无论是单机模式还是集群模式,如果升级到某个版本之后,服务起不来,修改配置也无效,则可以卸载当前版本,然后再重新安装上一个版本。前提是做好数据备份!!!

    安装包

    所需安装包如下:

    1. mongodb-org-server-3.4.24-1.el7.x86_64.rpm
    2. mongodb-org-server-3.6.23-1.el7.x86_64.rpm
    3. mongodb-org-server-4.0.28-1.el7.x86_64.rpm
    4. mongodb-org-server-4.2.22-1.el7.x86_64.rpm
    5. mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
    6. mongodb-org-tools-4.2.22-1.el7.x86_64.rpm

    获取地址:mongodb下载包

    单机模式

    1. 备份数据

    cp /var/lib/mongo /var/lib/mongo_bk

    2. 升级到3.4.24

    rpm -U mongodb-org-server-3.4.24-1.el7.x86_64.rpm

    如果升级失败,则可以考虑将3.4.7版本的mongodb直接卸掉

    rpm -qa|grep mongo

    查出当前安装版本,然后进行卸载

    rpm -e mongodb-xx-xx-xx.rpm

    安装3.4.24

    rpm -i mongodb-org-server-3.4.24-1.el7.x86_64.rpm

    3. 升级到3.6.23

    升级之前,通过mongodb shell,查看版本,如果mongodb-shell被卸载了,则需要先进行安装:

    mongodb-org-shell-3.4.24-1.el7.x86_64.rpm

    命令行输入mongo,进入mongdb shell模式,然后输入以下命令:

    db.adminCommand( {​​​​ getParameter: 1, featureCompatibilityVersion: 1 }​​​​​​​​​​​ )

    如果返回的不是"featureCompatibilityVersion":"3.4"版本,则需要修改:

    db.adminCommand( {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ setFeatureCompatibilityVersion: "3.4" }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ )

     执行升级命令:

    rpm -U mongodb-org-server-3.6.23-1.el7.x86_64.rpm

    升级之后,重启进程,查看是否启动正常

    systemctl restart mongod

     如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。

    启动成功后,修改版本号:

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

    4. 升级到4.0.28

    升级过程和第3步一样,先执行命令:

    rpm -U mongodb-org-server-4.0.28-1.el7.x86_64.rpm

    升级之后,重启进程,查看是否启动正常

    systemctl restart mongod

    如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。

    启动成功,修改版本号:

    db.adminCommand( {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ setFeatureCompatibilityVersion: "4.0" }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ )

    5. 升级到4.2.22

    注意:4.0升级到4.2版本,有一个字段不兼容,因此需要先进行检查以及修改之后,才能升级。

    可以通过工具或者mongodb shell 检查local数据库下的replset.minvalid表。mongodb shell命令如下:

    1. use local
    2. show collections

    如果replset.minvalid表存在,需要去掉oplogDeleteFromPoint字段的值,mongodb shell的参考命令如下:

    1. db.replset.minvalid.update(
    2.    {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ "_id" : ObjectId("62fcbc543bc5d819ac10a57e")}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​, # _id的值根据实际情况填写
    3. {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ $unset: {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ "oplogDeleteFromPoint": ""}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
    4. )

    上述步骤完成之后,则可以进行升级了。

    执行命令:

    rpm -U mongodb-org-server-4.2.22-1.el7.x86_64.rpm

    升级之后,重启进程,查看是否启动正常

    systemctl restart mongod

    如果不正常,需要检查/etc/mongod.conf文件,是否配置有误。

    启动成功,修改版本号:

    db.adminCommand( {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ setFeatureCompatibilityVersion: "4.2" }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ )

    安装shell、tools等rpm包

    1. mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
    2. mongodb-org-tools-4.2.22-1.el7.x86_64.rpm

    注意对比/etc/mongod.conf的新老文件的变化,然后进行相应的修改。因为新版本的配置有一处变化,最后一行为新增内容:

    1. processManagement:
    2. fork: true # fork and run in background
    3. pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
    4. timeZoneInfo: /usr/share/zoneinfo #新增内容

    集群模式

    集群和单机模式的升级基本上一样的只需要注意升级顺序,先升级备节点,最后升级主节点。

    升级完成之后,需要观察各节点的状态是否恢复正常。

  • 相关阅读:
    长时序栅格数据缺失值插补
    [附源码]java毕业设计风景区管理系统
    volatile关键字
    SG-Former:具有进化Token重新分配的自引导Transformer
    记录一次关于Rank()排序函数问题
    单源最短路径算法之Dijkstra
    SystemC学习(2)— D触发器的建模与测试
    【消费战略】解读100个食品品牌|速溶咖啡精品化,“三顿半”承接强势需求!
    Java学习day01
    Springboot内置Tomcat线程数测试
  • 原文地址:https://blog.csdn.net/lhjlhj123123/article/details/126911201