在 Ubuntu 上配置 MongoDB 的数据目录,通常包括修改配置文件、创建目录、修改权限和重启服务几个步骤。下面以 MongoDB 6.x / 7.x(使用 systemd) 为例说明。
MongoDB 默认数据目录是:
/var/lib/mongodb
配置文件位置:
/etc/mongod.conf
例如,想把数据放到 /data/mongodb:
sudo mkdir -p /data/mongodb
MongoDB 默认以 mongodb 用户运行:
sudo chown -R mongodb:mongodb /data/mongodb
sudo chmod 700 /data/mongodb
编辑配置文件:
sudo nano /etc/mongod.conf
找到 storage 部分,修改 dbPath:
storage:
dbPath: /data/mongodb
journal:
enabled: true
注意 YAML 格式,缩进必须是空格
Ubuntu 默认启用 AppArmor,否则 MongoDB 可能无法访问新目录。
编辑:
sudo nano /etc/apparmor.d/usr/bin/mongod
在文件中添加:
/data/mongodb/** rw,
/data/mongodb/ rw,
然后重新加载:
sudo apparmor_parser -r /etc/apparmor.d/usr/bin/mongod
sudo systemctl stop apparmor
sudo systemctl disable apparmor
sudo systemctl restart mongod
查看状态:
sudo systemctl status mongod
进入 MongoDB:
mongosh
执行:
db.runCommand({ getCmdLineOpts: 1 })
查看 storage.dbPath 是否为你设置的目录。
✅ 确认目录属主是 mongodb
✅ 确认 AppArmor 已配置
sudo systemctl stop mongod
sudo cp -a /var/lib/mongodb /data/mongodb
sudo chown -R mongodb:mongodb /data/mongodb
sudo systemctl start mongod
如果你使用的是 Docker / MongoDB 4.x / WSL / 云服务器,可以告诉我具体环境,我可以给你更针对性的配置方式。