ubuntu 16.04 升级 mongodb v3.6.3 to v4.0

背景

  • 项目mongod 驱动升级 只能链接mongov4.0 以上的实例

  • 现状: ubuntu 16.04 mongov3.6.3

  • 目的:mongov4.0

  • 官方mongodb v4.0 仓储公钥已过期

备份数据

mongodump --host locaohst --port 27017

备份配置

cp /etc/mongod.conf /tmp/mongod.conf

停止mongodb 服务 (注意自己的mongo服务名称,我这里是mongo.sevice)

systemctl stop mongo.server

卸载旧版mongodb

sudo apt-get remove --purge mongodb-server mongodb-server-core mongodb-clients mongodb mongodb-database-tools mongodb-org-tools mongodb-org

手动下载安装包

复制代码
注意:mongodbv4.0  社区版 代码仓储公钥已过期无法通过仓储源配置安装,只能通过手动下载安装
  • 下载安装包

    注意自己操作系统cpu 架构 ,我的是x86 ,如果不是可以调整根据自己的实际情况调整下载链接 https://repo.mongodb.org/apt/ubuntu/dists 这个链接可以查询符合自己系统架构的安装包
    wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-mongos_4.0.0_amd64.deb
    wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.0_amd64.deb
    wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-shell_4.0.0_amd64.deb
    wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-tools_4.0.0_amd64.deb
    wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org_4.0.0_amd64.deb

  • 手动安装
    dpkg -i mongodb-org-mongos_4.0.0_amd64.deb mongodb-org-tools_4.0.0_amd64.deb mongodb-org-shell_4.0.0_amd64.deb mongodb-org-server_4.0.0_amd64.deb mongodb-org_4.0.0_amd64.deb

  • 安装成功后 检查下配置文件,有可能被覆盖了,可以将之前备份的配置的关键配置手动迁移到新 的配置文件 比如dbpath

  • 重启服务
    systemctl start mongo.service

  • 设置最终迁移版号
    db.adminCommand({setFeatureCompatibilityVersion: "4.0"})

  • 验证版本
    db.version()

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