温馨提示×

MongoDB数据迁移在Debian上怎么进行

小樊
54
2025-08-20 09:24:43
栏目: 云计算

在Debian上进行MongoDB数据迁移,常用方法及步骤如下:

一、使用 mongodumpmongorestore(推荐)

适用场景:全量或增量迁移,支持数据库级或集合级迁移。

  1. 备份源数据
    mongodump --host <源主机> --port <源端口> --db <源数据库> --out /备份路径/ 
    • 可添加 --username/--password 指定认证信息。
  2. 传输备份文件到目标服务器
    scp -r /备份路径/ user@目标服务器:/目标路径/ 
  3. 恢复数据到目标数据库
    mongorestore --host <目标主机> --port <目标端口> --db <目标数据库> /目标路径/<源数据库> 
    • 若需覆盖同名集合,可先手动删除目标集合。

二、使用 mongoexportmongoimport

适用场景:导出为JSON/CSV格式,适合小数据量或跨系统迁移。

  1. 导出数据
    mongoexport --host <源主机> --port <源端口> --db <源数据库> --collection <集合名> --out /路径/数据.json 
  2. 导入数据
    mongoimport --host <目标主机> --port <目标端口> --db <目标数据库> --collection <集合名> --file /路径/数据.json 
    • 注意:此方法不保留索引,仅适用于简单数据。

三、物理文件迁移(需停机)

适用场景:同服务器或低延迟迁移。

  1. 停止源MongoDB服务
    sudo systemctl stop mongod 
  2. 同步数据文件
    sudo rsync -avz /var/lib/mongodb/ /目标路径/mongodb/ 
  3. 修改目标配置
    编辑 /etc/mongod.conf,确保 dbPath 指向新路径,重启服务:
    sudo systemctl start mongod 
    • 注意:需确保源和目标版本一致,且迁移期间无数据写入。

四、第三方工具(可选)

  • MongoDB Compass:图形化界面,支持可视化导出/导入。
  • Robo 3T:轻量级工具,支持数据同步和备份。
  • MongoShake:支持实时增量迁移,适合大规模数据。

注意事项

  • 权限与认证:确保目标数据库有足够权限接收数据,必要时使用 --authenticationDatabase 参数。
  • 版本兼容性:目标MongoDB版本需支持源数据的文档结构。
  • 数据一致性:迁移后需验证数据完整性,可通过对比集合数量或关键字段校验。

参考来源:

0