全部产品
Search
文档中心

云数据库 MongoDB:使用MongoDB工具将MongoDB Atlas迁移至阿里云

更新时间:May 21, 2026

Mongodump和Mongorestore是MongoDB数据库自带的备份恢复工具。您可以在本地设备或ECS实例中安装Mongodump和Mongorestore(也可以安装MongoDB数据库)工具,然后使用这些工具将MongoDB Atlas数据库迁移至阿里云数据库MongoDB。

说明 本文以本地设备为例介绍操作流程。

注意事项

  • 确保安装的Mongodump和Mongorestore软件版本与MongoDB Atlas数据库的版本一致。安装步骤请参见官方文档Install MongoDB
  • MongoDB实例支持的版本与存储引擎请参见版本及存储引擎,如需跨版本或跨引擎迁移,请提前确认兼容性。
  • 通过MongoDB工具迁移MongoDBAtlas数据库为全量数据迁移。为保障数据一致性,迁移操作开始前请停止源库的相关业务,并停止数据写入。
  • 执行mongodump备份命令将覆盖dump文件夹中的历史备份文件。如果您之前使用mongodump命令对源库执行过备份操作,请将dump文件夹中的备份文件移动至其他目录并确保dump文件夹为空。
  • 必须在安装有MongoDB数据库的服务器上执行mongodump和mongorestore命令,而不是在Mongo Shell环境下执行。

数据库账号权限要求

数据库 账号权限
MongoDB Atlas实例 待迁移库的read权限
阿里云MongoDB实例 目标库的readWrite权限

准备工作

阿里云MongoDB管理控制台完成以下准备工作:

  1. 创建阿里云MongoDB实例,详情请参见创建副本集实例创建分片集群实例
    说明
    • 阿里云MongoDB实例的存储空间要大于MongoDB Atlas的存储空间。
    • 如需迁移至阿里云MongoDB分片集群实例,建议对数据进行分片,详情请参见设置数据分片
  2. 设置阿里云MongoDB实例的数据库密码,详情请参见重置密码
    说明 如果您在创建实例时设置了数据库密码,可跳过本步骤。

在本地设备上成以下准备工作:

  1. 安装MongoDB数据库,详情请参见安装MongoDB
    说明
    • 该设备仅作为数据备份与恢复的临时中转平台,迁移操作完成后不再需要。
    • 备份目录所在分区的可用磁盘空间要大于MongoDB Atlas数据库的已用存储空间。
  2. 将本地设备的公网IP地址加入至阿里云MongoDB实例的白名单中,详情请参见修改白名单

操作步骤

  1. 登录MongoDB Atlas数据库控制台。
  2. 将用于数据迁移的本地设备的公网IP地址,加入至MongoDB Atlas实例的白名单中。依次单击左侧菜单 Clusters,选择 Security 页签,单击 IP Whitelist,然后单击右上角 + ADD IP ADDRESS 按钮。在弹出的 Add Whitelist Entry 表单中,在 Whitelist Entry 输入框中填入本地设备的公网 IP 地址,单击 Confirm 完成添加。
  3. Clusters页面,单击 Clusters 的名称。
  4. Command Line Tools页签,单击mongodump命令后的COPY,复制包含MongoDB Atlas数据库连接信息的mongodump命令。
  5. 在本地设备上,备份MongoDB Atlas数据库。
    1. 在本地设备上,粘贴包含MongoDB Atlas数据库连接信息的mongodump命令。
    2. 将<PASSWORD>替换为所使用的数据库账号密码,将<DATABASE>替换为要备份的数据库名称。
    3. 执行该命令,等待数据备份完毕。
  6. 登录阿里云MongoDB控制台,获取阿里云MongoDB实例的公网连接地址。
    • 如要迁移至阿里云MongoDB副本集实例,请获取Primary节点公网连接地址,详情请参见副本集实例连接说明
    • 如要迁移至阿里云MongoDB分片集群实例,请获取任一Mongos节点的公网连接地址,详情请参见分片集群实例连接说明
    说明 公网连接地址需要手动申请,详情请参见申请公网连接地址
  7. 在本地设备上,执行以下命令将数据库数据导入至阿里云MongoDB数据库。
    mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -d <database> <database_backupfile_directory>
    说明
    • <mongodb_host>:阿里云MongoDB副本集实例的Primary节点或阿里云MongoDB分片集群实例的Mongos节点连接地址。
    • <username>:阿里云MongoDB实例的数据库账号,本文以test为示例账号。
    • <database>:需要恢复的数据库。备份文件中如有多个数据库,需要重复本步骤进行其它数据库的恢复。
    • <database_backupfile_directory>:数据库备份文件所在的目录。

    示例:

    恢复数据库备份文件中的mongodbtest数据库
    mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d mongodbtest /dump/mongodbtest
    恢复数据库备份文件中的test123数据库
    mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d test123 /dump/test123
  8. 当命令行提示 Enter password:时,输入阿里云MongoDB数据库账号对应的密码并按回车键确认。

等待数据恢复完成,MongoDB Atlas数据库即迁移至阿里云MongoDB数据库中。