一、安装MongoDB
1. 下载 MongoDB 二进制文件
前往 MongoDB 官方下载页面(https://www.mongodb.com/try/download/community) 选择对应版本的 tar 包。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.28.tgz
2. 解压并移动至目标目录
解压文件:
bash
tar -xvzf mongodb-linux-x86_64-4.0.28.tgz
将解压后的文件移动至 `/usr/local/mongodb`:
bash
sudo mv mongodb-linux-x86_64-4.0.28 /usr/local/mongodb
cd /usr/local/mongodb
3. 配置环境变量
编辑环境变量文件:
bash
sudo vi ~/.bash_profile
添加以下内容:
bash
export PATH=$PATH:/usr/local/mongodb/bin
刷新环境变量:
bash
source ~/.bash_profile
验证:
bash
mongo --version
- 创建数据和日志目录
为 MongoDB 创建必要的目录:
bash
sudo mkdir -p /data/mongodb/log /data/mongodb/data /var/run/mongodb
5. 配置 MongoDB
在数据目录中创建配置文件:
bash
sudo vi /data/mongodb/mongod.conf
写入以下内容:
bash
# mongod.conf
# 日志配置
systemLog:
destination: file
logAppend: true
path: /data/mongodb/log/mongod.log
# 数据存储配置
storage:
dbPath: /data/mongodb/data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# 进程管理
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# 网络配置
net:
port: 27017
bindIp: 0.0.0.0
# 安全配置
security:
authorization: "enabled"
6. 启动 MongoDB 服务
使用配置文件启动 MongoDB:
bash
/usr/local/mongodb/bin/mongod --config /data/mongodb/mongod.conf
7. 配置为系统服务
编辑服务文件:
bash
sudo vi /lib/systemd/system/mongod.service
写入以下内容:
bash
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target
[Service]
User=root
Group=root
Environment="OPTIONS=-f /data/mongodb/mongod.conf"
ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown root:root /var/run/mongodb
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod.pid
Type=forking
[Install]
WantedBy=multi-user.target
保存并启用服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
验证服务状态:
bash
sudo systemctl status mongod.service
8. 配置用户认证
创建用户
进入 MongoDB Shell:
bash
mongo
创建管理员用户:
bash
use admin
db.createUser({ user: "root", pwd: "123456", roles: ["root"] })
重启服务:
bash
sudo systemctl restart mongod
9.登录验证
验证管理员用户:
bash
use admin
db.auth("root", "123456")
日常操作
bash
#启动服务
sudo systemctl start mongod
#停止服务
sudo systemctl stop mongod
#查看日志
tail -f /data/mongodb/log/mongod.log
二、搭建mongo副本集
通过搭建 MongoDB 副本集,主要有以下优势:
- 高可用性和故障恢复:主节点故障时,从节点自动接管,确保系统持续可用。
- 数据冗余:多个节点存储数据副本,保障数据安全。
- 读写分离和扩展性:优化性能,支持水平扩展。
- 灵活部署:支持跨区域部署和分布式事务。
副本集是 MongoDB 的核心特性,适用于需要高可靠性和高可用性的生产环境。
搭建步骤: