数据复制服务 DRS-本地MongoDB迁移到DDS:迁移准备
迁移准备
- 权限准备:
当使用 DRS 将本地数据库的数据迁移到本云DDS实例时,在不同迁移类型情况下,对源数据库和目标数据库的账号权限要求如表2所示:
表2 迁移账号权限 迁移类型
全量迁移
全量+增量迁移
源数据库
- 副本集:连接源数据库的用户需要对待迁移库有read权限。
- 单节点:连接源数据库的用户需要对待迁移库有read权限。
- 集群:连接源数据库的用户需要对待迁移库有read权限,对config数据库有read权限。
- 如果需要迁移源数据库用户和角色信息,连接源数据库的用户需要对admin数据库的系统表system.users,system.roles有读权限。
- 副本集:连接源数据库的用户需要对待迁移库有read权限,对local数据库有read权限。
- 单节点:连接源数据库的用户需要对待迁移库有read权限,对local数据库有read权限。
- 集群:连接源数据库mongos节点的用户需要对待迁移库有read权限,对config数据库有read权限, 连接源数据库分片节点的用户需要对admin数据库有readAnyDatabase权限,对local数据库有read权限。
- 如果需要迁移源数据库用户和角色信息,连接源数据库的用户需要对admin数据库的系统表system.users,system.roles有读权限。
目标数据库
连接目标数据库的用户需要对admin数据库有dbAdminAnyDatabase权限,对目标数据库有readWrite权限。对于目标数据库是集群的实例,迁移账号还要有对config数据的读权限
- 源数据库的权限设置:
需要确保源数据库MongoDB的账号具备表2的权限,若权限不足,需要在源数据库端创建高权限的账号。
- 目标数据库的权限设置:
本云DDS实例使用初始账号即可。
- 网络准备:
- 源数据库的网络设置:
本地MongoDB数据库实时迁移至本云DDS的场景,一般可以使用VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MongoDB数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该方式下的数据迁移过程较为方便和经济。
- 目标数据库的网络设置:
- 若通过VPN访问,请先开通VPN服务,确保源数据库和目标DDS网络互通。
- 若通过公网网络访问,目标DDS不需要进行设置。
- 源数据库的网络设置:
- 安全规则准备:
- 源数据库的白名单设置:
- 若通过公网网络进行迁移,源数据库MongoDB实例需要将具体的DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MongoDB实例可以与上述弹性公网IP连通。在设置网络白名单之前需要获取DRS迁移实例,具体方法如下:
以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法,在安全允许的情况下,可以将源数据库MongoDB实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。
- 若通过VPN网络进行迁移,源库需要将DRS迁移实例的私有IP添加到其网络白名单内,确保源端和目标端网络互通。
上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。
- 目标数据库安全组规则设置:
目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库,不需要进行任何设置。
- 源数据库的白名单设置:
- 其他事项准备:
由于迁移过程不会迁移MongoDB数据库的用户信息以及相关参数,需要自行将上述信息导出后手动添加到目标DDS中。