MongoDB数据库迁移 本章节主要介绍了通过DRS将其他云数据库实时迁移至本云DDS的任务配置流程。 包括以下迁移场景: 其他云MongoDB数据库实时迁移至本云DDS。 其他云内云主机自建自维护的MongoDB数据库迁移至本云DDS。 网络示意图和MySQL的场景相同 迁移步骤 图 迁移流程图 迁移建议(重要) 数据库迁移与环境多样性和人为操作均有密切关系,为了确保迁移的平顺,建议您在进行正式的数据库迁移之前进行一次演练,可以帮助您提前发现问题并解决问题,如何最小化对数据库的影响请参考如下建议。 强烈建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性迁移成功率,避免迁移对业务造成性能影响。 迁移须知(重要) 注意 在创建迁移任务之前,请您务必仔细阅读迁移须知。 参考《数据库复制服务快速入门》中的“使用须知”章节。 迁移准备 1.权限准备: 当使用 DRS 将其他云MongoDB数据库的数据迁移到本DDS实例时,在不同迁移类型情况下,对源数据库和目标数据库的帐号权限要求如表: 表 迁移账号权限 迁移类型 全量迁移 全量+增量迁移 源数据库 o 副本集:连接源数据库的用户权限需要对admin数据库有readAnyDatabase权限。 o 集群:连接源数据库的用户权限需要对admin数据库有readAnyDatabase权限,对config数据库有read权限。 o 单节点:连接源数据库的用户权限需要对admin数据库有readAnyDatabase权限。 如果需要迁移源数据库用户和角色信息,连接源数据库的用户权限需要对admin数据库的系统表system.users,system.roles有读权限。 o 副本集:连接源数据库的用户权限需要对admin数据库有readAnyDatabase权限,对local数据库有read权限。 o 单节点:连接源数据库的用户权限需要对admin数据库有readAnyDatabase权限,对local数据库有read权限。 o 集群:连接源数据库mongos节点的用户权限需要对admin数据库有readAnyDatabase权限,对config数据库有read权限, 连接源数据库分片节点的用户权限需要对admin数据库有readAnyDatabase权限,对local数据库有read权限。 如果需要迁移源数据库用户和角色信息,连接源数据库的用户权限需要对admin数据库的系统表system.users,system.roles有读权限。 目标数据库 连接目标数据库的用户权限需要对admin数据库有readAnyDatabase权限,对目标数据库有readWrite权限。 源数据库权限设置: 需要确保源数据库MongoDB的帐号权限具备表1的要求。若权限不足,需要在源数据库端开通高权限的帐号。 目前DRS支持迁移的第三方云厂商有:阿里云,腾讯云和亚马逊云。 以阿里云云数据库MongoDB迁移到本云DDS为例,阿里云MongoDB默认的初始帐号已经具备进行数据迁移的能力,使用初始帐号即可。 目标数据库权限设置: 本云DDS实例使用初始帐号即可。 2.网络准备: 源数据库需要开放公网访问。源数据库的网络设置: 源数据库MongoDB实例需要开放公网域名的访问。 以阿里云云数据库MongoDB迁移到本云DDS实例为例,一般情况下,阿里云云数据库MongoDB不提供公网地址,需要通过申请公网地址来允许外部的应用对接,具体的操作及注意事项可以参考阿里云提供的相关指导。 目标数据库的网络设置:目标端不需要进行设置。 3.安全规则准备: 源数据库安全组规则设置: 源数据库MongoDB实例需要将具体的DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MongoDB实例可以与上述弹性公网IP连通。 以阿里云云数据库MongoDB迁移到本云DDS为例,具体设置网络白名单的操作及注意事项可以参考相关指导。在设置网络白名单之前,需要先获取DRS迁移实例的弹性公网IP,具体操作如下: 迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。如图所示: 图 迁移实例公网弹性IP 以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法,在安全允许的情况下,可以将源数据库MongoDB实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。 上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。 目标数据库安全组规则设置: 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库,不需要进行任何设置。 4.其他事项准备: 由于迁移过程不会迁移MongoDB数据库的用户信息以及相关参数,需要自行将上述信息导出后手动添加到目标DDS中。
来自: