Mongoimport是MongoDB数据库自带的恢复工具。您可以在本地设备或ECS实例中安装MongoDB数据库,然后借助该工具将Amazon DynamoDB数据库迁移至阿里云。
说明 本文以本地设备为例介绍操作流程。
前提条件
注意事项
- 该操作为全量数据迁移,暂不支持增量数据迁移。为避免迁移前后数据不一致,在迁移开始前请停止源库的数据写入。
- 请在安装有MongoDB服务的服务器上执行mongoimport命令,而不是在mongo shell环境下执行。
术语或概念对应关系
DynamoDB中的术语或概念 | MongoDB中的术语或概念 |
---|---|
Table | Collection |
Item | Document |
Attribute | Field |
环境准备
在本地设备上安装MongoDB程序,程序版本与阿里云MongoDB数据库的版本一致。该设备将作为数据迁移的中转。本案例将MongoDB程序安装在Ubuntu Linux上进行演示。
操作步骤
- 登录DynamoDB控制台。
- 在左侧导航栏,单击表。
- 选择需要迁移的表,本案例选择customer表。
- 选择需要迁移的数据,导出为.csv格式。
- 单击项目页签。
- 选择需要迁移的数据。
- 单击 。
- 将导出的.csv文件复制到环境准备中的本地设备。
- 登录阿里云MongoDB控制台,获取阿里云MongoDB实例的公网连接地址。
- 如要迁移至阿里云MongoDB副本集实例,请获取Primary节点公网连接地址,详情请参见副本集实例连接说明。
- 如要迁移至阿里云MongoDB分片集群实例,请获取任一Mongos节点的公网连接地址,详情请参见分片集群实例连接说明。
说明 公网连接地址需要手动申请,详情请参见 申请公网连接地址。 - 在本地设备上,执行以下命令将数据库数据导入至阿里云MongoDB数据库。
mongoimport --host <mongodb_host:port> --authenticationDatabase admin -u <username> --db <database> --collection <collection> --file <filename> --type csv --headerline
说明- <mongodb_host:port>:阿里云MongoDB副本集实例的Primary节点或分片集群实例的Mongos节点连接地址。
- <username>:阿里云MongoDB实例的数据库用户名,初始账号为root。该用户需具备目标数据库的readWrite权限。
- <database>:鉴权数据库名,即数据库账号所属的数据库。当数据库账号为root时,对应的数据库为admin。
- <collection>:指定要导入数据的集合名。
- <filename> :.csv文件的路径和名称。
示例:将customer.csv中的数据导入至mongodbtest数据库的customer集合中。mongoimport --host dds-bpxxxxxxxx-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u root --db mongodbtest --collection customer --file ~/download/customer.csv --type csv --headerline
- 当命令行提示
Enter password:
时,输入阿里云MongoDB数据库账号对应的密码并按回车键确认。说明 如果还有其他表需要迁移,请重复步骤3到步骤8。
等待数据导入完成,即完成Amazon DynamoDB数据迁移至阿里云的操作。
后续操作
为提升数据操作的性能,数据导入后您还需要根据业务需求建立索引,详情请参见db.collection.createIndex。