MongoDB安装教程
一、环境准备
系统要求:CentOS 7
依赖检查:确保系统已安装
libcurl
和openssl
(MongoDB 运行依赖),若未安装可执行:sudo yum install -y libcurl openssl
MongoDB 版本选择:根据项目需求选择合适版本(本文以
mongodb-linux-x86_64-rhel70-7.0.25.tgz
为例,社区版)。下载地址:MongoDB 官网下载页(选择对应系统的
tgz
包)。
二、安装步骤
1. 下载安装包
通过 wget
直接在服务器下载(或本地下载后上传至服务器):
# 以 7.0.25 版本为例,注意替换为实际版本的下载链接
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.25.tgz
2. 解压安装包
将安装包解压到指定目录(推荐 /usr/local
,便于管理):
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-7.0.25.tgz
# 移动到 /usr/local 并简化目录名
sudo mv mongodb-linux-x86_64-rhel70-7.0.25 /usr/local/mongodb
3. 创建数据和日志目录
MongoDB 默认需要数据存储目录(/data/db
)和日志目录,手动创建并授权:
# 创建数据目录
sudo mkdir -p /data/mongodb/db
# 创建日志目录
sudo mkdir -p /data/mongodb/log
# 授权当前用户(避免权限问题,也可指定用户)
sudo chown -R $USER:$USER /data/mongodb
4. 配置环境变量(可选)
为了全局使用 mongod
和 mongo
命令,将 MongoDB 的 bin
目录添加到环境变量:
# 编辑 .bashrc 或 .bash_profile
vi ~/.bashrc
# 在文件末尾添加(路径需与实际安装目录一致)
export PATH=/usr/local/mongodb/bin:$PATH
# 生效配置
source ~/.bashrc
三、启动 MongoDB
1. 临时启动(前台运行,用于测试)
# 指定数据目录和日志文件
mongod --dbpath /data/mongodb/db --logpath /data/mongodb/log/mongod.log --fork
--dbpath
:指定数据存储目录--logpath
:指定日志文件路径--fork
:后台运行(可选,不加则前台运行,关闭终端即停止)
2. 配置文件启动(推荐,适合生产环境)
创建配置文件 mongodb.conf
,统一管理配置:
# 创建配置文件
sudo vi /usr/local/mongodb/conf/mongodb.conf
配置内容如下:
systemLog:
destination: file # 日志输出方式(file 或 syslog)
path: /data/mongodb/log/mongod.log # 日志文件路径
logAppend: true # 日志追加模式(而非覆盖)
storage:
dbPath: /data/mongodb/db # 数据存储目录
engine: wiredTiger # 存储引擎(默认 wiredTiger,支持文档级锁)
net:
bindIp: 0.0.0.0 # 允许所有 IP 连接(生产环境建议指定具体 IP)
port: 27017 # 端口(默认 27017,如需修改需同步防火墙配置)
processManagement:
fork: true # 后台运行(守护进程模式)
# security:
# authorization: enabled # 开启认证(配置用户后取消注释,替代旧版 auth=true)
通过配置文件启动:-f 选项表示使用配置文件启动mongodb
mongod -f /usr/local/mongodb/conf/mongodb.conf
四、验证安装
下载
mongosh
安装包访问 MongoDB Shell 下载页,选择与你的系统(CentOS 属于 Linux x64)匹配的tgz
包,复制下载链接后在服务器执行:# 以 2.5.8 版本为例(替换为最新版本链接) wget https://downloads.mongodb.com/compass/mongosh-2.5.8-linux-x64.tgz
解压并配置环境变量
# 解压 tar -zxvf mongosh-2.5.8-linux-x64.tgz # 移动到 MongoDB 安装目录(方便管理) sudo mv mongosh-2.5.8-linux-x64 /usr/local/mongodb/mongosh # 添加到环境变量(与 MongoDB 的 bin 目录同级,或单独配置) echo 'export PATH=/usr/local/mongodb/mongosh/bin:$PATH' >> ~/.bashrc source ~/.bashrc
连接 MongoDB配置完成后,直接使用
mongosh
命令连接:mongosh # 连接本地默认端口(27017)的 MongoDB # 如需指定主机和端口:mongosh --host 127.0.0.1 --port 2701 # -u 用户名 -p 密码(若不直接输入,回车后会提示手动输入,更安全) # --authenticationDatabase admin 指定认证的库是admin,如果在其他库创建的则指定其他的库,默认admin
执行简单命令测试:
show dbs; // 查看数据库列表(默认有 admin、local 等) exit; // 退出客户端
五、停止 MongoDB
优雅停止(推荐):
# 连接客户端后执行 mongosh use admin db.shutdownServer() exit
使用mongod脚本
./mongod -f ../conf/mongodb.conf --shutdown
六、注意事项
权限问题:确保数据目录和日志目录的权限正确,避免启动失败。
防火墙:若需远程访问,需开放 27017 端口(CentOS 7 示例):
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload
安全配置:生产环境需开启认证(
auth = true
),并创建管理员用户:use admin db.createUser({ user: "admin", pwd: "*****", roles: [{ role: "root", db: "admin" }] }) # # 创建后,需在 MongoDB 配置文件中开启认证(security.authorization: enabled),重启服务后,客户端连接时必须通过该用户(或其他授权用户)的账号密码认证,才能访问数据库,从而保障数据安全。
db: "admin"
:指定角色生效的数据库(root
角色属于admin
数据库的内置角色)。role: "root"
:MongoDB 内置的 超级管理员角色,拥有所有数据库的所有操作权限(包括创建 / 删除数据库、管理其他用户、执行备份 / 恢复等)。root
角色权限过大,仅建议用于数据库初始化或紧急操作,日常管理建议创建权限更细化的角色(如userAdminAnyDatabase
管理用户,readWriteAnyDatabase
读写数据)需在配置文件中开启
security.authorization: enabled
并重启服务,否则即使创建了用户,也无需认证即可访问数据库。
通过以上步骤,即可在 CentOS 系统中成功安装并运行 MongoDB。若后续需要升级,只需下载新版本安装包,替换解压目录并重启服务即可。