Linux如何安装MongoDB?Linux系统下MongoDB详细安装教程

在Linux环境下安装MongoDB,推荐通过官方YUM或APT源配置进行安装,这种方式比编译源码更稳定且便于后续版本管理,适用于CentOS、Ubuntu等主流发行版。

MongoDB作为文档型数据库的代表,在2026年的技术生态中依然占据重要地位,许多开发者在面对Linux服务器时,往往会在“直接下载二进制包”和“使用包管理器安装”之间犹豫,业内专家指出,对于生产环境而言,利用系统自带的包管理器(如yum或apt)是更优解,因为它能自动处理依赖关系,并提供标准化的服务管理接口,本文将深入剖析不同Linux发行版下的最佳实践,帮助你在复杂的环境中快速搭建稳定的MongoDB服务。

5.linux安装MongoDB
加载中
5.linux安装MongoDB

CentOS/RHEL环境下的标准化安装路径

Red Hat系列发行版因其在企业级服务器中的高占有率,成为MongoDB部署的首选场景之一,在CentOS 7或RHEL 8/9环境中,直接使用yum或dnf命令是最高效的方式。

配置官方YUM源

你需要创建一个MongoDB的仓库配置文件,这一步至关重要,因为默认的系统源中通常不包含最新版本的MongoDB。

创建仓库文件

在终端中执行以下命令,创建并编辑/etc/yum.repos.d/mongodb-org-7.0.repo文件(版本号可根据需求调整,目前主流稳定版为7.0系列):

sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo <<EOF
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
EOF

这里的关键在于baseurl指向官方镜像,确保下载速度和安全性的平衡,对于身处内网环境的用户,建议配置本地镜像源以解决linux mongo 安装速度慢的问题。

执行安装命令

配置完成后,运行安装指令,系统会自动解析依赖并下载组件:

Linux如何安装MongoDB?Linux系统下MongoDB详细安装教程

sudo yum install -y mongodb-org

安装完成后,启动服务并设置开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod

Ubuntu/Debian系统的APT源配置技巧

对于使用Ubuntu或Debian的用户,APT包管理器提供了类似的便捷体验,由于版本迭代较快,手动添加GPG密钥和源列表是避免“包未找到”错误的关键。

导入GPG密钥与源定义

不同于CentOS,Ubuntu需要显式导入MongoDB的GPG密钥以验证软件包签名。

密钥导入步骤

首先安装必要的依赖工具,然后导入密钥:

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

创建源列表文件,对于Ubuntu 22.04(Jammy),操作如下:

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

更新与安装

更新包索引后,即可安装:

sudo apt-get update
sudo apt-get install -y mongodb-org

值得注意的是,Ubuntu用户常遇到ubuntu mongo 安装权限不足的报错,这通常是因为未正确设置GPG密钥路径或源文件权限错误,确保密钥文件位于/usr/share/keyrings/且仅对root可读,可解决大部分权限问题。

核心配置与安全加固策略

安装完成仅仅是第一步,如何配置才能让数据库既安全又高效,是区分新手与专家的分水岭,MongoDB的配置文件通常位于/etc/mongod.conf(Linux系统)。

网络绑定与访问控制

Linux如何安装MongoDB?Linux系统下MongoDB详细安装教程

默认情况下,MongoDB只监听本地回环地址(127.0.0.1),这意味着外部无法直接连接,若需远程访问,必须修改net.bindIp配置。

修改绑定IP

在mongod.conf中,找到net部分:

net:
  port: 27017
  bindIp: 0.0.0.0  # 允许所有IP访问,生产环境建议指定具体IP段

启用身份验证

开启访问控制是防止数据泄露的最后防线,在security部分启用authorization:

security:
  authorization: enabled

重启服务后,你需要先创建管理员用户才能进行后续操作,连接本地MongoShell,执行以下命令创建超级用户:

use admin
db.createUser({
  user: "admin",
  pwd: "your_strong_password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

常见问题排查与性能调优

在实际部署过程中,日志分析和参数调优是解决疑难杂症的核心手段。

日志位置与查看方法

MongoDB的日志默认存储在/var/log/mongodb/mongod.log,当服务启动失败或连接超时,查看此日志是首要步骤。

实时跟踪日志

使用tail命令实时监控日志输出,有助于捕捉启动瞬间的错误:

tail -f /var/log/mongodb/mongod.log

内存与存储引擎配置

MongoDB默认使用WiredTiger存储引擎,它对内存管理有较高要求。

调整WiredTiger缓存

在storage.wiredTiger.engineConfig中,可以调整缓存大小,默认情况下,它使用系统物理内存的50%,对于内存较小的测试服务器,建议适当降低该值,以免触发OOM(内存溢出)杀手:

Linux如何安装MongoDB?Linux系统下MongoDB详细安装教程

storage: wiredTiger: engineConfig: cacheSizeGB: 1 # 根据服务器实际内存调整

版本升级与数据迁移考量

随着业务发展,从旧版本迁移到新版本是不可避免的过程,MongoDB提供了在线升级机制,但数据一致性仍需关注。

滚动升级策略

对于副本集架构,可以采用滚动升级,先升级从节点,再升级主节点,确保服务可用性。

升级前检查

在升级前,务必执行db.serverStatus()检查当前状态,并备份关键数据,据行业共识认为,全量备份是升级前不可省略的安全垫。

兼容性注意事项

不同大版本之间可能存在语法或行为差异,从4.4升级到7.0,某些过时的聚合管道操作可能需要重构,建议先在测试环境模拟升级流程,验证应用兼容性后再在生产环境执行。

FAQ: linux mongo 安装常见问题解答

linux mongo 安装后无法启动怎么办?

首先检查日志文件/var/log/mongodb/mongod.log,常见原因包括端口被占用、数据目录权限错误或缺少必要的依赖库,确保mongod进程对/var/lib/mongo目录拥有读写权限,通常通过chown -R mongod:mongod /var/lib/mongo修复。

如何卸载旧版本的MongoDB?

停止服务后,使用包管理器移除软件包,在CentOS中执行sudo yum remove mongodb-org,在Ubuntu中执行sudo apt-get remove mongodb-org,注意,默认配置和数据文件通常保留在系统中,如需彻底清理,需手动删除/etc/mongodb和/var/lib/mongo目录。

MongoDB在Linux上的默认端口是多少?

MongoDB在Linux上的默认监听端口是27017,如果该端口被其他服务占用,可以在mongod.conf的net.port字段中修改为其他可用端口,如27018或更高。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85mongodb%ef%bc%9flinux%e7%b3%bb%e7%bb%9f%e4%b8%8bmongodb%e8%af%a6%e7%bb%86%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b/

赞 (0)
java 开源cdn,java 开源cdn有哪些
上一篇 2026年7月6日 18:07
华硕装linux系统难吗?华硕电脑怎么安装linux系统
下一篇 2026年7月6日 18:10

相关推荐

  • 500人网页游戏服务器要多少m

    500人网页游戏服务器要多少m,先说结论:带宽至少需要100M独享,稳妥起见建议200M起步;如果游戏包含大量实时交互或高清资源,直接上300M-500M更为安全, 这并非拍脑袋,而是基于网页游戏的并发模型和行业惯例推算出来的,下面我会拆解计算逻辑、配套配置,以及挑选服务商时需要盯紧的硬指标,带宽需求是怎么算出……

    2026年9月5日
    3300
  • 云服务器到底多少钱算便宜,怎么挑选配置最划算?

    云服务器多少钱算便宜,答案不是“9.9元/月”,而是在同配置、同带宽、同SLA、同合规资质下,三年总拥有成本更低,且续费不跳价、带宽不缩水、工单有人接, 2026年百度更看重语义匹配与E-E-A-T,单靠低价词堆不出排名,用户要的是能验证的便宜,云服务器多少钱算便宜?先拆四个硬指标配置价格比:vCPU和内存只是……

    相关资讯 2026年10月19日
    200
  • 服务器网线一个到底多少钱,服务器网线多少钱一米

    服务器网线单价从几元到几百元不等,普通机制Cat6跳线约5-20元/条,机房级Cat6a屏蔽跳线约15-50元/条,DAC高速铜缆约80-300元/条,光纤跳线加模块组合可达数百元, 具体多少钱一个,取决于线缆类别、屏蔽等级、长度、品牌以及采购渠道,下面按实际使用场景拆开说,影响服务器网线价格的核心因素线缆类别……

    2026年9月17日
    100
  • linux怎么录制屏幕视频?linux命令行录制视频命令

    在Linux环境下录制视频,推荐使用FFmpeg进行命令行录制或Kazam等图形界面工具进行桌面录制,前者适合服务器远程场景,后者适合桌面开发演示,对于大多数Linux用户而言,视频录制不再是一个高不可攀的技术难题,无论是为了录制代码演示、系统故障排查,还是制作技术教程,Linux生态都提供了丰富且强大的工具链……

    2026年7月4日
    14300
  • 附近服务器运维一年多少钱,收费标准怎么算

    如果你的服务器遭遇暴力破解攻击,核心应对思路是立即阻断攻击源、隔离受感染系统、保数据、改防线,下面从检测、止血到加固,给你一套完整实操指南,第一步:快速判断是否正在被暴力破解登录服务器执行 last 或 lastb,查看近期登录记录,lastb 显示失败登录尝试,若出现大量同一IP或不同IP的连续失败记录,说明……

    2026年10月12日
    000
  • Hadoop集群最大支持多少台服务器,如何规划硬件资源?

    Hadoop集群没有“最多多少台服务器”的硬性上限,但传统单NameNode架构的生产集群多数落在几百到几千台,采用HDFS Federation、YARN Federation和多集群调度后,扩展到上万台是可行路径,真正卡住规模的,不是Hadoop装不上,而是NameNode内存、ResourceManage……

    2026年10月9日
    100
  • linux curl xml怎么用?curl命令发送xml格式数据

    在Linux系统中,curl结合XML数据交互的核心在于利用HTTP头指定内容类型,并通过管道或重定向处理响应,同时需警惕XML注入风险并合理配置超时与重试机制以确保数据传输的稳定性,Linux系统管理员和开发者日常处理API接口、配置文件同步或数据抓取时,curl几乎是首选工具,它不仅能下载文件,更能精准控制……

    2026年7月7日
    9410
  • 三年内转服务器多少钱才合理,费用明细有哪些?

    三年内转服务器的总成本,多数企业实际花费在1.5万元至12万元区间,具体取决于配置、带宽、迁移复杂度以及服务商资质,选错服务商可能让这个数字翻倍,很多企业第一次接触服务器迁移时,容易把目光只盯在“首年租金”上,忽略了三年周期内的续费、带宽、迁移人力、备案等隐性支出,作为从业多年的人,我见过太多因为前期预算没算全……

    2026年9月5日
    500
  • 网站服务器一般多少兆才够用,网站服务器带宽多少合适?

    网站服务器的带宽通常选择3M到10M独享就够用,中小型企业站和博客5M起步,日均几百到上千访客的站点10M完全跑得动,视频和下载类另说,带宽不是越大越好,而是匹配业务并发量和资源体积,否则要么卡顿要么白花钱,下面按场景拆解,带宽选择的真实维度选带宽先分清两个概念——共享带宽和独享带宽,共享是把机房总出口分给同机……

    2026年10月12日
    100
  • 明月庄主基岩版服务器ID是多少,明月庄主服务器怎么进?

    B站个人主页的置顶简介:PC端和手机端都能直接看到,更新频率较高,最新视频置顶评论:很多主播会把服务器地址、版本号、QQ群号一起放在置顶评论,方便玩家复制,粉丝群群公告:QQ群或微信群公告一般会写服务器的IP、端口、当前版本,有些还会标注开放时间段,直播间的聊天框公告:如果正在直播,直播间公告或弹幕机器人会定时……

    2026年9月23日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注