MongoDB在Ubuntu上的存储配置指南
/var/lib/mongodb,若需更换路径(如/data/db),需编辑配置文件/etc/mongod.conf:
sudo nano /etc/mongod.conf打开文件,找到storage部分;dbPath参数为自定义路径(如dbPath: /data/db);sudo mkdir -p /data/db(若目录已存在则跳过);mongodb):sudo chown -R mongodb:mongodb /data/db。sudo systemctl restart mongod重启服务,通过sudo systemctl status mongod确认服务状态(显示“active (running)”即为成功)。mmapv1(仅支持读密集型场景)。/etc/mongod.conf的storage部分添加/修改engine字段:storage:
engine: wiredTiger # 或 mmapv1
mongo),执行db.runCommand({ connectionStatus: 1 }),在输出中查找storageEngine字段,确认当前使用的引擎。/etc/mongod.conf中添加:storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 根据服务器内存调整(如4GB)
journal.enabled设置为true(默认开启):storage:
journal:
enabled: true
sudo mkfs.ext4 /dev/sdb1 # 示例:将/dev/sdb1格式化为ext4
majority),确保数据写入到多数节点后才返回成功(适用于复制集):// Node.js示例
const client = new MongoClient('mongodb://localhost:27017', {
writeConcern: { w: 'majority' }
});
mongodump工具定期备份(如每日备份到/backup/daily):# 创建备份脚本(/usr/local/bin/mongo_backup.sh)
#!/bin/bash
mongodump --out /backup/daily/$(date +%Y%m%d)
# 添加执行权限并设置cron定时任务(每天凌晨2点执行)
chmod +x /usr/local/bin/mongo_backup.sh
echo "0 2 * * * /usr/local/bin/mongo_backup.sh" | sudo tee -a /etc/crontab
df -h命令查看磁盘空间使用率;mongostat监控数据库操作(如插入、查询次数);db.dropCollection()删除不再需要的集合,或db.collection.deleteMany({})删除集合中的文档;db.repairDatabase()回收损坏数据占用的空间(需停机执行);db.runCommand({ compact: "collectionName" })整理集合碎片(释放未使用空间)。lvextend扩展卷大小;/data/db),修改权限后重启MongoDB服务。