把 MongoDB 迁移到 Debian 上,通常分 同版本迁移 和 跨版本迁移 两种情况。下面给你一套通用、稳妥的流程,适用于大多数场景。
mongod --version
记下版本号(如 4.4 / 5.0 / 6.0),目标机尽量保持一致。
cat /etc/mongod.conf | grep storage.dbPath
默认一般是:
/var/lib/mongodb
mongo
> use admin
> db.fsyncLock()
或直接停服务(推荐):
systemctl stop mongod
tar czf mongo-data.tar.gz /var/lib/mongodb
scp mongo-data.tar.gz user@debian-ip:/tmp/
apt update
apt install -y mongodb-org # 或 apt install mongodb(系统版)
停止 MongoDB:
systemctl stop mongod
解压数据:
rm -rf /var/lib/mongodb
tar xzf /tmp/mongo-data.tar.gz -C /
chown -R mongodb:mongodb /var/lib/mongodb
启动:
systemctl start mongod
mongodump --out=/tmp/mongo-backup
scp -r /tmp/mongo-backup user@debian-ip:/tmp/
mongorestore /tmp/mongo-backup
✅ 优点:
如果你源库是副本集:
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] \
https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/6.0 main" \
> /etc/apt/sources.list.d/mongodb-org-6.0.list
apt update
apt install -mongodb-org
mongo
> show dbs
> db.stats()
确认:
❌ 版本不一致导致无法启动
✅ 用 mongodump 最安全
❌ 文件权限不对
✅ chown mongodb:mongodb
❌ Debian 12 用旧教程
✅ 用官方 repo,不用 apt install mongodb
如果你愿意,可以告诉我:
我可以直接给你定制命令。