MongoDB在CentOS上的安装指南
一、前言

MongoDB是一款流行的NoSQL数据库,以其高性能、易扩展和灵活的数据模型而闻名,本文将详细介绍如何在Centos操作系统上安装和配置MongoDB,包括准备工作、安装步骤、配置与优化、启动与停止服务、常见问题及解决方案等内容。
二、准备工作
系统要求
操作系统:CentOS 7及以上版本
内存:至少2GB(建议4GB或以上)
存储空间:至少200MB用于安装,更多空间用于数据存储
网络连接:需要互联网连接以下载MongoDB软件包

更新系统
在开始安装之前,确保系统是最新的,打开终端并执行以下命令来更新系统包:
- sudo yum update y
关闭SELinux
为了简化MongoDB的安装过程,可以临时关闭SELinux,注意,这在生产环境中并不推荐,因为SELinux提供了额外的安全层。
- sudo setenforce 0
- sudo sed i "s/^SELINUX=.*/SELINUX=disabled/" /etc/selinux/config
安装依赖项
MongoDB依赖于一些第三方库,确保这些依赖项已安装:
- sudo yum install y gcc openssldevel bzip2devel libffidevel
三、添加MongoDB Yum源并安装MongoDB
创建MongoDB Yum源文件
创建一个Yum源文件以便从官方仓库安装MongoDB:
- sudo vi /etc/yum.repos.d/mongodborg4.0.repo
在文件中添加以下内容:

- [mongodborg4.0]
- name=MongoDB Repository
- baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodborg/4.0/x86_64/
- gpgcheck=1
- enabled=1
- gpgkey=https://www.mongodb.org/static/pgp/server4.0.asc
保存并退出编辑器。
安装MongoDB
使用以下命令安装MongoDB:
- sudo yum install y mongodborg
设置目录权限
MongoDB默认使用/var/lib/mongo
作为数据目录,但该目录可能不存在,我们需要创建它并设置适当的权限:
- sudo mkdir p /var/lib/mongo
- sudo chown R mongod:mongod /var/lib/mongo
四、配置MongoDB
编辑配置文件
MongoDB的主要配置文件位于/etc/mongod.conf
,你可以根据需要进行修改,以下是一些常见的配置选项:
绑定IP地址:指定MongoDB监听的IP地址,设置为0.0.0.0
表示监听所有网络接口。
- net:
- bindIp: 0.0.0.0
端口号:指定MongoDB监听的端口号,默认为27017。
- net:
- port: 27017
日志文件路径:指定MongoDB日志文件的存储路径。
- systemLog:
- destination: file
- path: /var/log/mongodb/mongod.log
- logAppend: true
数据存储路径:指定MongoDB数据文件的存储路径。
- storage:
- dbPath: /var/lib/mongo
重启MongoDB服务
每次修改配置文件后,都需要重启MongoDB服务以使更改生效:
- sudo systemctl restart mongod
五、验证安装与基本操作
检查MongoDB服务状态
使用以下命令检查MongoDB服务是否运行正常:
- sudo systemctl status mongod
你应该看到类似于“active (running)”的状态信息。
连接到MongoDB
使用mongo
命令行工具连接到MongoDB实例:
- mongo host 127.0.0.1 port 27017
如果连接成功,你将看到MongoDB的命令行提示符。
测试数据库操作
在MongoDB shell中,你可以执行一些基本的数据库操作来确认一切正常,创建一个新数据库并插入一条文档:
- use testDB
- db.testCollection.insert({name: "MongoDB", type: "Database"})
- db.testCollection.find().pretty()
这将显示插入的文档内容。
六、常见问题及解决方案
问题:无法连接到MongoDB
解决方案:
确保MongoDB服务正在运行:sudo systemctl status mongod
确保防火墙允许MongoDB的端口(默认27017):sudo firewallcmd addport=27017/tcp permanent
,然后重新加载防火墙规则:sudo firewallcmd reload
如果MongoDB仅绑定到本地主机,而你尝试从远程连接,则需要修改/etc/mongod.conf
中的bindIp
参数。
2. 问题:启动MongoDB时报错“failed to unlink socket file”
解决方案:
这是由于之前的MongoDB实例异常终止导致的,手动删除残留的套接字文件:sudo rm /tmp/mongodb27017.sock
,然后重新启动MongoDB服务。
问题:MongoDB占用过多内存
解决方案:
确保MongoDB有足够的物理内存可用,可以通过调整ulimit
参数来增加可用内存:sudo vi /etc/security/limits.conf
,添加以下行:
- * soft nofile 64000
- * hard nofile 64000
- * soft nproc 64000
- * hard nproc 64000
- * soft memlock unlimited
- * hard memlock unlimited
优化MongoDB的配置,例如调整缓存大小和查询优化。
七、上文归纳
通过本文的详细介绍,你已经学会了如何在CentOS上安装和配置MongoDB,还介绍了如何验证安装、进行基本操作以及解决一些常见的问题,希望这篇指南能够帮助你在CentOS上顺利部署MongoDB,并在实际应用中获得良好的性能和稳定性,如果在安装过程中遇到任何问题,欢迎随时查阅MongoDB官方文档或寻求社区的帮助。