在 Debian 上修改 MongoDB 的数据目录(路径)一般分为 修改配置文件 和 迁移数据 两步。下面以 MongoDB 官方版(非 apt 自带旧版) 为例说明(适用于 MongoDB 4.x / 5.x / 6.x / 7.x)。
/var/lib/mongodb/var/log/mongodb/etc/mongod.confsudo systemctl stop mongod
例如改为 /data/mongodb:
sudo mkdir -p /data/mongodb
sudo chown -R mongodb:mongodb /data/mongodb
sudo chmod 700 /data/mongodb
编辑:
sudo vim /etc/mongod.conf
修改 storage.dbPath:
storage:
dbPath: /data/mongodb
(可选)修改日志路径:
systemLog:
path: /data/mongodb/mongod.log
如果你已经有数据,不要直接改路径,要先拷贝:
sudo cp -a /var/lib/mongodb/. /data/mongodb/
sudo chown -R mongodb:mongodb /data/mongodb
Debian 上 MongoDB 受 AppArmor 限制,新路径必须放行。
sudo vim /etc/apparmor.d/usr.sbin.mongod
添加:
/data/mongodb/** rw,
/data/mongodb/ rw,
然后:
sudo systemctl reload apparmor
直接关闭 AppArmor 对 mongod 的限制(仅测试环境):
sudo aa-complain /usr/sbin/mongod
sudo systemctl start mongod
sudo systemctl status mongod
mongosh
db.runCommand({ dbStats: 1 })
确认数据正常。
Permission deniedmongodbAlready runningsudo rm /data/mongodb/mongod.lock
如果你指的是:
可以告诉我,我给你对应方案。