You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SSH连接的服务器数据库复制到本地,及Atlas数据库迁移方法

MongoDB跨环境数据库复制替代方案

MongoDB 4.0之后已正式废弃copyDatabase()方法,当前官方推荐的替代方案为mongodump+mongorestore的组合,可适配绝大多数跨环境数据复制场景。

1 SSH连接远程服务器到本地的数据复制方案

操作步骤:

  • 第一步:建立SSH端口转发隧道,将远程服务器的MongoDB端口映射到本地端口,避免和本地MongoDB服务冲突
    命令示例:
    ssh -L 27018:127.0.0.1:27017 <SSH登录用户名>@<远程服务器公网地址>
    
    执行后保持终端窗口开启,即可通过本地27018端口访问远程服务器上的MongoDB服务。
  • 第二步:导出远程数据库数据到本地临时目录
    命令示例:
    mongodump --uri="mongodb://<远程数据库用户名>:<远程数据库密码>@127.0.0.1:27018/<要复制的数据库名>" --out=./mongo_temp_dump
    
    若远程数据库未开启身份验证,可省略用户名和密码部分。
  • 第三步:将导出的数据导入本地MongoDB
    命令示例:
    mongorestore --uri="mongodb://<本地数据库用户名>:<本地数据库密码>@127.0.0.1:27017/<本地存储的数据库名>" ./mongo_temp_dump/<远程数据库名>
    
    导入完成后可删除./mongo_temp_dump临时目录释放存储空间。

2 MongoDB Atlas数据库复制通用方案

Atlas的数据复制同样可以用mongodump+mongorestore的方案实现,适配本地、其他云服务器等任意目标环境:

  • 第一步:在Atlas控制台获取目标集群的连接字符串,选择Connect with MongoDB Shell类型的连接地址
  • 第二步:导出Atlas数据库数据
    命令示例:
    mongodump --uri="mongodb+srv://<Atlas用户名>:<Atlas密码>@<Atlas集群地址>/<要复制的数据库名>" --out=./atlas_dump
    
  • 第三步:将导出的数据导入到目标环境即可,命令和上述本地导入逻辑完全一致。

如果需要实现不停服的实时数据同步,可直接使用Atlas控制台内置的Live Migration功能,按照页面提示填入源集群的连接信息即可自动完成同步,无需手动执行命令。

通用注意事项

  • 操作前确认源端和目标端的MongoDB大版本兼容,跨大版本迁移建议先核对版本兼容规则
  • 数据量较大的场景可以加--gzip参数压缩导出文件,减少磁盘占用,恢复时同步添加--gzip参数即可
  • 导出时如果需要排除指定集合,可添加--excludeCollection=<集合名称>参数
  • 生产环境操作建议在业务低峰期执行,避免对线上服务产生性能影响

内容的提问来源于stack exchange,提问作者nivalderramas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:06:03