温馨提示×

mongodb如何迁到debian上

小樊
45
2026-09-14 13:54:30
栏目: 云计算

把 MongoDB 迁移到 Debian 上,通常分 同版本迁移 和 跨版本迁移 两种情况。下面给你一套通用、稳妥的流程,适用于大多数场景。


一、迁移前准备(源服务器)

1. 确认 MongoDB 版本

mongod --version

记下版本号(如 4.4 / 5.0 / 6.0),目标机尽量保持一致。

2. 确认数据目录

cat /etc/mongod.conf | grep storage.dbPath

默认一般是:

/var/lib/mongodb

3. 停止写入(重要)

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/

Debian 目标机

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 / mongorestore(跨版本、云迁移推荐)

源服务器导出

mongodump --out=/tmp/mongo-backup
scp -r /tmp/mongo-backup user@debian-ip:/tmp/

Debian 上导入

mongorestore /tmp/mongo-backup

✅ 优点:

  • 不依赖文件格式
  • 适合 4.x → 5.x / 6.x

✅ 方式三:副本集同步(零停机,生产推荐)

如果你源库是副本集:

  1. 在 Debian 上部署新节点
  2. 加入副本集
  3. 等数据同步完成
  4. 切换主节点
  5. 下线旧节点

三、Debian 上安装 MongoDB(推荐官方版)

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()

确认:

  • 数据量一致
  • 用户权限一致
  • 配置文件(端口、bindIp)

五、常见坑

❌ 版本不一致导致无法启动
✅ 用 mongodump 最安全

❌ 文件权限不对
✅ chown mongodb:mongodb

❌ Debian 12 用旧教程
✅ 用官方 repo,不用 apt install mongodb


如果你愿意,可以告诉我:

  • 源系统(CentOS / Ubuntu / 云 MongoDB)
  • MongoDB 版本
  • 是否允许停机

我可以直接给你定制命令。

0 踩