首页主机资讯mongodb在centos上怎么设置

mongodb在centos上怎么设置

时间2026-01-19 01:28:04发布访客分类主机资讯浏览366
导读:在 CentOS 上安装与配置 MongoDB 的完整步骤 一 准备与安装 更新系统并导入 GPG 公钥(可选,yum 会校验): sudo yum update -y sudo rpm --import https://www.mon...

在 CentOS 上安装与配置 MongoDB 的完整步骤

一 准备与安装

  • 更新系统并导入 GPG 公钥(可选,yum 会校验):
    • sudo yum update -y
    • sudo rpm --import https://www.mongodb.org/static/pgp/server-4.4.asc
  • 创建官方 YUM 仓库文件 /etc/yum.repos.d/mongodb-org-4.4.repo,内容如下(以 CentOS 7/8 为例,其他版本将 $releasever 替换为对应主版本号):
    • [mongodb-org-4.4]
      • name=MongoDB Repository
      • baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
      • gpgcheck=1
      • enabled=1
      • gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
  • 安装 MongoDB 组件包:
    • sudo yum install -y mongodb-org
  • 说明:如需固定版本避免被系统更新升级,可在 /etc/yum.conf 增加:exclude=mongodb-org,mongodb-org-server,mongodb-org-shell。

二 启动与自启

  • 启动服务并设置开机自启:
    • sudo systemctl start mongod
    • sudo systemctl enable mongod
    • sudo systemctl status mongod
  • 验证监听端口(默认 27017):
    • ss -tlnp | grep 27017 或 netstat -tlnp | grep 27017
  • 查看日志确认启动成功(常见提示:waiting for connections on port 27017):
    • sudo tail -n50 /var/log/mongodb/mongod.log

三 基础配置

  • 配置文件路径:/etc/mongod.conf(YAML 格式)。常用项:
    • 网络与端口:
      • net:
        • port: 27017
        • bindIp: 127.0.0.1(仅本地)或 0.0.0.0(允许远程,生产慎用并配合防火墙/安全组)
    • 存储与日志:
      • storage:
        • dbPath: /var/lib/mongo
        • journal:
          • enabled: true
      • systemLog:
        • destination: file
        • path: /var/log/mongodb/mongod.log
        • logAppend: true
    • 进程管理:
      • processManagement:
        • fork: true
        • pidFilePath: /var/run/mongodb/mongod.pid
  • 修改配置后重启生效:
    • sudo systemctl restart mongod
  • 注意:bindIp 默认只监听 127.0.0.1,如需远程访问请改为 0.0.0.0 并严格限制来源。

四 安全加固

  • 启用访问控制(RBAC):
    • 编辑 /etc/mongod.conf:
      • security:
        • authorization: enabled
    • 重启:sudo systemctl restart mongod
    • 连接并创建管理员(先连入 mongo,未启用 auth 时操作;启用后需带账号连接):
      • use admin
      • db.createUser({ user: “admin”, pwd: “StrongPassword123”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” } ] } )
    • 带认证连接:
      • mongo -u admin -p StrongPassword123 --authenticationDatabase admin
  • 防火墙放行(firewalld):
    • 仅内网可访问时建议限制来源 IP;公网不建议直接暴露 27017
      • sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“你的内网网段或IP” port port=“27017” protocol=“tcp” accept’
      • 如需临时全放开(不推荐生产):sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp & & sudo firewall-cmd --reload
  • 云服务器还需在云厂商安全组放行对应端口与来源。

五 常见问题与维护

  • 目录权限(若自定义 dbPath 或日志目录,需确保 mongod 用户可写):
    • sudo chown -R mongod:mongod /your/custom/path
  • 远程连不上:
    • 核对 bindIp、防火墙/安全组、云厂商安全组、监听端口(ss/ netstat)、SELinux 是否拦截(必要时 setsebool -P mongod_can_network 1 或改用端口放行策略)
  • 升级与版本固定:
    • 如需避免意外升级,使用:exclude=mongodb-org* 于 /etc/yum.conf
  • 常用维护命令:
    • 停止/启动/重启:sudo systemctl stop|start|restart mongod
    • 查看状态与日志:sudo systemctl status mongod;sudo tail -f /var/log/mongodb/mongod.log
  • 卸载清理(谨慎):
    • sudo yum erase $(rpm -qa | grep mongodb-org)
    • rm -rf /var/log/mongodb /var/lib/mongo

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: mongodb在centos上怎么设置
本文地址: https://pptw.com/jishu/785038.html
如何在centos优化mongodb centos redis使用哪些命令

游客 回复需填写必要信息