使用MongoDB数据库自带的备份还原工具,您可以将Azure Cosmos DB API for MongoDB迁移至阿里云。
注意事项
- 该操作为全量迁移,为避免迁移前后数据不一致,迁移开始前请停止数据库写入。
- 如果您之前使用mongodump命令对数据库进行过备份操作,请将备份在dump文件夹下的文件移动至其他目录。确保默认的dump备份文件夹为空,否则将会覆盖该文件夹下之前备份的文件。
- 请在安装有MongoDB服务的服务器上执行mongodump和mongorestore命令,并非在mongo shell环境下执行。
数据库账号权限要求
实例类型 | 账号权限 |
---|---|
Azure Cosmos DB | read |
目的MongoDB实例 | readWrite |
环境准备
迁移步骤
- 登录Azure门户。
- 在左侧导航栏单击Azure Cosmos DB。
- 在Azure Cosmos DB页面,单击需要迁移的Cosmos DB 账户名称。
- 在账户详情页,单击Connection String。
- 单击Read-only Keys页签,查看连接该数据库所需的信息。
说明 迁移数据时使用只读权限的账号密码信息即可。
- 在安装有MongoDB服务的Linux服务器上执行以下命令进行数据备份,将数据备份至该服务器上。
mongodump --host <HOST>:10255 --authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> --ssl --sslAllowInvalidCertificates
说明:将<HOST>、<USERNAME>、<PRIMARY PASSWORD>更换为图 1中对应选项的值。
等待备份完成,Azure Cosmos DB的数据库将备份至当前目录下dump文件夹中。
- 获取阿里云MongoDB数据库的Primary节点连接地址,详情请参见实例连接说明。
- 在安装有MongoDB服务的Linux服务器上执行以下语句将数据库数据全部导入至阿里云MongoDB数据库。
mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -p <password> dump
说明:- <mongodb_host>:MongoDB实例的Primary节点连接地址。
- <username>:登录MongoDB实例的数据库用户名。
- <password>:登录MongoDB实例的数据库密码。
等待数据恢复完成,Azure Cosmos DB API for MongoDB数据库即迁移至阿里云MongoDB数据库中。