数据复制服务 DRS-将DDS迁移到MongoDB:数据库账号权限要求

时间:2025-05-27 16:12:46

数据库账号权限要求

在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。

表3 数据库账号权限

类型名称

全量迁移

全量+增量迁移

源数据库连接账号

  • 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限。
  • 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限。
  • 集群:连接源数据库的用户需要有admin库的readAnyDatabase权限,有config库的read权限。
  • 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。
  • 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。

目标数据库连接账号

连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限,有目标数据库的readWrite权限。

对于目标数据库是集群的实例,迁移账号还要有admin库的clusterManager权限。

  • 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。
  • 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
  • 副本集用户赋权参考语句:连接源数据库的用户需要有admin库的readAnyDatabase权限和local库的read权限。
    db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"local"}])
  • 集群用户赋权参考语句:连接源数据库mongos节点的用户需要有admin库的readAnyDatabase权限,有config库的read权限。
    db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"config"}])
support.huaweicloud.com/productdesc-drs/drs_04_0101.html
提示

您即将访问非华为云网站,请注意账号财产安全