温馨提示×

如何迁debian mongodb数据

小樊
59
2026-09-17 14:46:54
栏目: 云计算

下面按常见场景给你讲「在 Debian 上迁移 MongoDB 数据」的几种做法,你可以按实际情况选。


一、同机 / 重装系统前(最推荐:mongodump + mongorestore)

1. 导出数据(旧环境)

mongodump --out /backup/mongo

如果有账号:

mongodump -u admin -p password --authenticationDatabase admin --out /backup/mongo

2. 拷贝数据

scp -r /backup/mongo user@new-server:/backup/mongo

3. 导入数据(新环境)

mongorestore /backup/mongo

✅ 优点:安全、跨版本兼容好
❌ 缺点:大数据量较慢


二、直接拷贝数据目录(快,但要求版本一致)

1. 停止 MongoDB

systemctl stop mongod

2. 拷贝数据目录(默认)

/var/lib/mongodb

3. 新机器

systemctl stop mongod
cp -r /data/mongodb /var/lib/
chown -R mongodb:mongodb /var/lib/mongodb
systemctl start mongod

⚠️ 注意:

  • MongoDB 大版本必须一致(如 5.0 → 5.0)
  • 不要跨文件系统随意拷贝 running 数据

三、迁移到另一台 Debian(网络直接导)

mongodump --host old-server --port 27017 | mongorestore --host new-server

或分步:

mongodump --host old-ip --out /tmp/m
mongorestore --host new-ip /tmp/m

四、Docker 中的 MongoDB(Debian)

docker exec mongo mongodump --out /data/backup
docker cp mongo:/data/backup ./backup
docker cp ./backup new-mongo:/data/backup
docker exec new-mongo mongorestore /data/backup

五、迁移后检查

mongo
> show dbs
> use yourdb
> db.stats()

六、常见坑

问题 原因
权限错误 没 chown mongodb
启动失败 数据版本不兼容
认证失败 没带 --authenticationDatabase
数据不全 没导出 admin 库

如果你能告诉我:

  • MongoDB 版本
  • 是否 Docker
  • 同机 / 跨服务器
  • 数据量大小

我可以给你精确命令。

0 踩