在 Debian 上迁移 MongoDB,常见场景有 同机迁移目录 / 跨服务器迁移 / 升级迁移。下面按最常用、最稳妥的方式给你一个完整方案,适用于 MongoDB 4.4 / 5.x / 6.x / 7.x(APT 安装方式)。
mongod --version
mongo --version # 或 mongosh
sudo systemctl stop mongod
⚠️ 一定要先停服,否则数据可能损坏
/var/lib/mongodb
/etc/mongod.conf
sudo cp -a /var/lib/mongodb /new/path/mongodb
或移动:
sudo mv /var/lib/mongodb /new/path/mongodb
sudo nano /etc/mongod.conf
修改:
storage:
dbPath: /new/path/mongodb
sudo chown -R mongodb:mongodb /new/path/mongodb
sudo systemctl start mongod
sudo systemctl status mongod
mongodump --out /backup/mongo-$(date +%F)
scp -r /backup/mongo-2026-01-21 user@target:/backup/
mongorestore /backup/mongo-2026-01-21
✅ 适用场景:
systemctl stop mongod
tar czf mongo.tar.gz /var/lib/mongodb
systemctl stop mongod
tar xzf mongo.tar.gz -C /
chown -R mongodb:mongodb /var/lib/mongodb
systemctl start mongod
⚠️ 必须 MongoDB 主版本一致
/etc/mongod.conf
常见需要同步的内容:
bindIp: 0.0.0.0
port: 27017
storage.dbPath
systemLog.path
如果启用了认证:
security:
authorization: enabled
✅ 用户数据在 admin 库中,使用 mongodump 会自动迁移
❌ 直接拷贝目录时也会保留
mongodump --out /backup
sudo apt update
sudo apt upgrade mongod
mongosh
show dbs
journalctl -xe
cat /var/log/mongodb/mongod.log
sudo chown -R mongodb:mongodb /var/lib/mongodb
ss -lntp | grep 27017
| 场景 | 推荐方式 |
|---|---|
| 同机换目录 | 拷贝 + 改配置 |
| 跨服务器 | mongodump |
| 升级 | dump + 升级 |
| Docker | volume 迁移 |
如果你愿意,可以告诉我:
我可以给你 精确到命令级别 的迁移方案。