HCRM博客

在CentOS 6系统上轻松部署MongoDB教程

CentOS 6 环境下安装与配置 MongoDB 实践指南

在CentOS 6系统上轻松部署MongoDB教程-图1

对于仍在使用 CentOS 6 操作系统的用户而言,部署 MongoDB 数据库可能面临一些兼容性挑战,本文将从环境准备、安装流程、基础配置到安全优化,提供一套完整的操作指南,帮助用户快速搭建稳定可靠的 MongoDB 服务。

在CentOS 6系统上轻松部署MongoDB教程-图2

**一、环境准备与兼容性说明

CentOS 6 发布于 2011 年,官方支持已于 2020 年终止,若需在其上运行 MongoDB,需注意版本兼容性:

- MongoDB 3.2 及更早版本支持 CentOS 6;

- MongoDB 4.0 以上版本需依赖 GLIBC 2.17+,而 CentOS 6 默认 GLIBC 版本为 2.12,强行安装可能导致运行时错误。

推荐方案

1、选择 MongoDB 3.2 长期支持版(EOL 为 2018 年);

2、升级系统至 CentOS 7 或更高版本以获得更好的兼容性;

在CentOS 6系统上轻松部署MongoDB教程-图3

3、若必须使用 CentOS 6,建议通过源码编译 MongoDB,但需自行解决依赖问题。

二、安装 MongoDB 3.2 详细步骤

1. 添加 MongoDB 官方仓库

创建仓库配置文件
vi /etc/yum.repos.d/mongodb-org-3.2.repo

粘贴以下内容:

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

2. 安装 MongoDB 核心组件

yum install -y mongodb-org

若提示依赖错误(如libcurl 版本过低),需手动安装兼容包:

示例:从 CentOS Vault 获取旧版依赖
wget http://vault.centos.org/6.10/os/x86_64/Packages/libcurl-7.19.7-54.el6.x86_64.rpm
rpm -Uvh libcurl-7.19.7-54.el6.x86_64.rpm

**3. 启动服务并设置开机自启

service mongod start
chkconfig mongod on

**三、基础配置与性能调优

**1. 配置文件调整

默认配置文件路径为/etc/mongod.conf,需根据需求修改关键参数:

storage:
  dbPath: /var/lib/mongo  # 数据存储路径
  journal:
    enabled: true         # 启用日志,防止数据损坏
systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log  # 日志路径
  logAppend: true
net:
  port: 27017
  bindIp: 127.0.0.1       # 生产环境建议绑定内网IP
资源限制(根据服务器配置调整)
operationProfiling:
  mode: slowOp
  slowOpThresholdMs: 100

**2. 权限与目录设置

数据目录权限

chown -R mongod:mongod /var/lib/mongo
chmod 755 /var/lib/mongo

日志轮转

编辑/etc/logrotate.d/mongodb,添加:

/var/log/mongodb/*.log {
    daily
    rotate 30
    compress
    missingok
    notifempty
    sharedscripts
    postrotate
        /bin/kill -SIGUSR1 $(cat /var/run/mongodb/mongod.pid 2> /dev/null) 2> /dev/null || true
    endscript
}

**四、安全加固与维护建议

**1. 启用身份验证

- 创建管理员账户:

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

- 修改配置文件启用认证:

security:
  authorization: enabled

重启服务生效:

service mongod restart

**2. 防火墙与网络隔离

- 限制 MongoDB 端口访问:

iptables -A INPUT -p tcp --dport 27017 -s 192.168.1.0/24 -j ACCEPT  # 仅允许内网IP段
iptables -A INPUT -p tcp --dport 27017 -j DROP
service iptables save

**3. 定期备份与监控

逻辑备份:使用mongodump

mongodump --host localhost --port 27017 -u admin -p StrongPassword123 --authenticationDatabase admin --out /backup/mongodb/

物理备份:直接复制数据目录(需停止服务)。

监控工具:部署mongostat 或第三方工具(如 Prometheus + MongoDB Exporter)。

**五、常见问题与解决方案

1、启动失败:GLIBC 版本不兼容

错误提示:/lib64/libc.so.6: version 'GLIBC_2.14' not found

解决:降级 MongoDB 版本或升级系统。

2、连接数不足

修改配置文件中的net.maxIncomingConnections(默认 65536),并调整系统文件句柄限制:

   ulimit -n 65535
   echo "mongod soft nofile 65535" >> /etc/security/limits.conf

3、数据目录磁盘空间不足

扩展磁盘或迁移数据目录:

   service mongod stop
   mv /var/lib/mongo /new/path/
   ln -s /new/path/mongo /var/lib/mongo
   service mongod start

观点

CentOS 6 作为已终止维护的系统,长期运行 MongoDB 存在安全与兼容性风险,建议优先升级至 CentOS 7/8 或迁移至云数据库服务,若受限于环境,需严格遵循最小权限原则,定期审计日志与备份数据,以降低潜在故障的影响。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/30069.html

分享:
扫描分享到社交APP
上一篇
下一篇