温馨提示×

debian mongodb如何迁

小樊
51
2026-10-02 11:54:54
栏目: 云计算

在 Debian 上迁移 MongoDB,常见有同机/跨机、同版本/跨版本、物理文件迁移/逻辑备份迁移几种方式。下面给你一套最常用、最稳妥的做法。


一、迁移前准备

1. 查看 MongoDB 版本

mongod --version

或

mongo --version

2. 停止写入(重要)

如果是生产环境:

  • 停止应用
  • 或开启维护模式

二、方式一:逻辑备份迁移(✅ 推荐,最安全)

源服务器(旧 Debian)

1. 备份全部数据

mongodump --out=/data/mongo_backup

指定用户密码:

mongodump -u admin -p password --authenticationDatabase admin --out=/data/mongo_backup

2. 传输到新服务器

scp -r /data/mongo_backup user@new_server:/data/

目标服务器(新 Debian)

3. 安装 MongoDB(同版本)

参考官方源:

apt install -y mongodb-org

4. 恢复数据

mongorestore /data/mongo_backup

带权限恢复:

mongorestore -u admin -p password --authenticationDatabase admin /data/mongo_backup

✅ 优点:跨版本、跨磁盘结构都安全
❌ 缺点:大数据量较慢


三、方式二:直接拷贝数据目录(⚡ 快,但要求严格)

适用条件

  • MongoDB 版本一致
  • 存储引擎一致(一般是 WiredTiger)
  • 停机迁移

源服务器

1. 停止 MongoDB

systemctl stop mongod

2. 拷贝数据目录

默认路径:

/var/lib/mongodb
scp -r /var/lib/mongodb user@new_server:/var/lib/

目标服务器

3. 停止 MongoDB

systemctl stop mongod

4. 替换数据目录

rm -rf /var/lib/mongodb
mv /data/mongodb /var/lib/mongodb
chown -R mongodb:mongodb /var/lib/mongodb

5. 启动

systemctl start mongod

✅ 优点:快
❌ 风险:版本不一致直接起不来


四、跨大版本升级迁移(如 4.4 → 6.0)

不能硬盘直接拷!

正确做法:

  1. 旧版本 mongodump
  2. 新版本 mongorestore
  3. 必要时运行:
db.adminCommand({ setFeatureCompatibilityVersion: "6.0" })

五、迁移后检查

mongo
show dbs
use your_db
db.stats()

检查:

  • 数据条数
  • 索引
  • 用户权限

六、常见问题

1. 权限错误

chown -R mongodb:mongodb /var/lib/mongodb

2. 启动失败

看日志:

journalctl -u mongod

3. 数据量巨大

  • 用 mongodump --gzip
  • 或做副本集逐步切换

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

  • Debian 版本
  • MongoDB 版本
  • 是否同机 / 跨机
  • 数据量大小

我可以给你精确命令方案。

0 踩