温馨提示×

mongodb在debian怎样迁移

小樊
36
2026-09-23 17:35:00
栏目: 云计算

在 Debian 上迁移 MongoDB,常见场景有:同机数据目录迁移、服务器之间迁移、使用副本集/备份恢复迁移。下面按最常用方式给你说明。


一、迁移前准备

1. 查看 MongoDB 状态

systemctl status mongod

2. 备份(强烈建议)

mongodump --out /backup/mongo_$(date +%F)

二、同机迁移(更换数据目录)

1. 停止 MongoDB

systemctl stop mongod

2. 迁移数据目录

假设原目录:

/var/lib/mongodb

新目录:

/data/mongodb
mkdir -p /data/mongodb
cp -a /var/lib/mongodb/* /data/mongodb/
chown -R mongodb:mongodb /data/mongodb

3. 修改配置文件

nano /etc/mongod.conf

修改:

storage:
  dbPath: /data/mongodb

4. 启动 MongoDB

systemctl start mongod

三、服务器之间迁移(最常用)

源服务器

1. 导出数据

mongodump --out /backup/mongo

2. 拷贝到目标服务器

rsync -avz /backup/mongo user@目标IP:/backup/

目标服务器(Debian)

1. 安装 MongoDB

(参考官方源)

apt update
apt install -y mongodb-org

2. 恢复数据

mongorestore /backup/mongo

3. 启动服务

systemctl enable mongod
systemctl start mongod

四、使用 rsync 直接迁移数据文件(停机迁移)

源服务器

systemctl stop mongod
rsync -avz /var/lib/mongodb/ user@目标IP:/var/lib/mongodb/

目标服务器

chown -R mongodb:mongodb /var/lib/mongodb
systemctl start mongod

⚠ 注意:MongoDB 版本必须一致或兼容


五、副本集环境迁移

如果是副本集:

  1. 先迁移 Secondary
  2. 重新加入集群
  3. 再切换 Primary

六、常见问题

权限错误

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

启动失败

查看日志:

journalctl -u mongod
cat /var/log/mongodb/mongod.log

如果你能说明:

  • 是否跨服务器
  • 是否使用 Docker
  • MongoDB 版本
  • 是否副本集

我可以给你更精确的迁移命令。

0 踩