Ubuntu原地升级MongoDB全过程

 更新时间:2025年10月11日 09:19:50   作者:Kay_Liang  
MongoDB是一款非常流行的开源数据库,但有时候我们可能需要卸载它以进行清理或是升级,本文将详细介绍在Ubuntu操作系统上如何原地升级MongoDB,需要的朋友可以参考下

环境:Ubuntu 14.04
原版本:MongoDB 2.6.10
目标版本:MongoDB 3.2.17
方式:apt 卸载 → 官方源安装 → 手动配置 systemd
是否成功:已上线,mongo shell 可连

背景

老机器上跑的是 Ubuntu 14.04,MongoDB 还是 2.6,版本太老,连 数据导出为csv格式 都不支持。不想重装系统,也不想折腾 Docker,就干脆原地升级一把,记录如下,全程可复制粘贴

第一步:停服务 + 卸载旧版本

sudo pkill mongod
sudo apt-get purge mongodb mongodb-server mongodb-clients
sudo apt-get autoremove
sudo apt-get autoclean

注意:mongodb-org 是官方包,旧系统里没有,卸载时提示找不到无视即可。

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
E: 无法定位软件包 mongodb-org

则使用下面语句
sudo apt-get purge mongodb mongodb-server mongodb-clients mongodb
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成  

第二步:添加 MongoDB 3.2 官方源

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update

提示 appstreamcli 崩溃无视,继续往下走。

第三步:安装指定版本(锁定 3.2.17)

sudo apt-get install -y \
  mongodb-org=3.2.17 \
  mongodb-org-server=3.2.17 \
  mongodb-org-shell=3.2.17 \
  mongodb-org-mongos=3.2.17 \
  mongodb-org-tools=3.2.17 \
  --allow-unauthenticated

加 --allow-unauthenticated 是因为 GPG 提示没公钥,懒得管,直接装。

第四步:锁定版本,防止意外升级

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

第五步:手动创建 systemd 服务(关键)

控制台输入mongo:

MongoDB shell version: 3.2.17
connecting to: test
2025-09-30T18:56:06.204+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
2025-09-30T18:56:06.204+0800 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:229:14
@(connect):1:6

exception: connect failed

使用sudo systemctl start mongod启动MongoDB服务发现报错:
Failed to start mongod.service: Unit mongod.service not found.

which mongod && mongod --version
/usr/bin/mongod
db version v3.2.17
git version: 186656d79574f7dfe0831a7e7821292ab380f667
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1404
    distarch: x86_64
    target_arch: x86_64

查看Mongo的版本发现已经成功安装,只是无法使用systemd去启动,这是因为MongoDB 3.2 不自带 systemd 文件,必须自己写

sudo nano /etc/systemd/system/mongod.service

mongod.service文件里面粘贴以下内容:

[Unit]
Description=MongoDB Database Server
After=network.target

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
Restart=always

[Install]
WantedBy=multi-user.target

保存后执行:

sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod

第六步:验证是否成功

sudo systemctl status mongod
mongod.service - MongoDB Database Server
   Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2025-09-30 19:04:00 CST; 2s ago
 Main PID: 9560 (mongod)
   CGroup: /system.slice/mongod.service
           └─9560 /usr/bin/mongod --config /etc/mongod.conf

9月 30 19:04:00 dblab-VirtualBox systemd[1]: Started MongoDB Database Server.
mongo

输出:

MongoDB shell version: 3.2.17
connecting to: test
> show dbs
admin  0.000GB
local  0.000GB

总结

步骤是否必须备注
卸载 2.6避免冲突
添加官方源3.2 不在默认源里
安装指定版本防止装成 4.x
手动 systemd3.2 不自带,必须写
数据迁移本次是空数据,直接升级

后记

如果你也是老 Ubuntu + 老 MongoDB,不想重装、不想迁机器,这套流程直接抄作业就行。
有数据的老哥如果担心数据库的数据丢失或损坏,记得先 dump,我这是空库,直接干。

以上就是Ubuntu原地升级MongoDB全过程的详细内容,更多关于Ubuntu原地升级MongoDB的资料请关注脚本之家其它相关文章!

相关文章

  • MongoDB windows解压缩版安装教程详解

    MongoDB windows解压缩版安装教程详解

    这篇文章主要介绍了MongoDB windows解压缩版安装教程详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • MongoDB的安装及配置文件选项全解

    MongoDB的安装及配置文件选项全解

    本文收录了MongoDB的安装及配置文件选项全解,介绍了MongoDB安装的方法以及环境下的一些重要文件,还有最重要的是详细地罗列了配置文件中的选项含义和参数,需要的朋友可以参考下
    2016-07-07
  • MongoDB创建与删除数据库

    MongoDB创建与删除数据库

    这篇文章介绍了MongoDB创建与删除数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Linux服务器下MariaDB 10自动化安装部署

    Linux服务器下MariaDB 10自动化安装部署

    这篇文章主要介绍了Linux服务器下MariaDB 10自动化安装部署,需要的朋友可以参考下
    2016-08-08
  • Vercel+MongoDB Atlas部署详细指南

    Vercel+MongoDB Atlas部署详细指南

    这篇文章主要为大家介绍了Vercel+MongoDB Atlas部署的详细指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • mongoDB分页的两种方法(图例)

    mongoDB分页的两种方法(图例)

    mongoDB分页的两种方法,mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的。
    2013-11-11
  • SpringBoot整合MongoDB的实现步骤

    SpringBoot整合MongoDB的实现步骤

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。本文介绍SpringBoot项目如何整合MongoDB
    2021-06-06
  • mongodb三分钟入门大全

    mongodb三分钟入门大全

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,接下来通过本文给大家介绍mongodb三分钟入门大全,感兴趣的朋友一起看看吧
    2022-01-01
  • MongoDB中sort()排序方法、aggregate()聚合方法和索引代码示例

    MongoDB中sort()排序方法、aggregate()聚合方法和索引代码示例

    这篇文章主要给大家介绍了关于MongoDB中sort()排序方法、aggregate()聚合方法和索引的相关资料,MongoDB的聚合函数Aggregate是一组用于对MongoDB中的数据集进行聚合操作的函数,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • 2021最新版windows10系统MongoDB数据库安装及配置环境

    2021最新版windows10系统MongoDB数据库安装及配置环境

    这篇文章主要介绍了2021最新版MongoDB数据库安装及配置环境(windows10系统),本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论