使用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>
更换为Azure连接信息中对应选项的值。等待备份完成,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数据库中。