mongodb在centos上怎么设置
导读:在 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-org-4.4]
- 安装 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(允许远程,生产慎用并配合防火墙/安全组)
- net:
- 存储与日志:
- storage:
- dbPath: /var/lib/mongo
- journal:
- enabled: true
- systemLog:
- destination: file
- path: /var/log/mongodb/mongod.log
- logAppend: true
- storage:
- 进程管理:
- processManagement:
- fork: true
- pidFilePath: /var/run/mongodb/mongod.pid
- processManagement:
- 网络与端口:
- 修改配置后重启生效:
- sudo systemctl restart mongod
- 注意:bindIp 默认只监听 127.0.0.1,如需远程访问请改为 0.0.0.0 并严格限制来源。
四 安全加固
- 启用访问控制(RBAC):
- 编辑 /etc/mongod.conf:
- security:
- authorization: enabled
- security:
- 重启: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
- 编辑 /etc/mongod.conf:
- 防火墙放行(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
- 仅内网可访问时建议限制来源 IP;公网不建议直接暴露 27017:
- 云服务器还需在云厂商安全组放行对应端口与来源。
五 常见问题与维护
- 目录权限(若自定义 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
