将DDS_MongoDB副本集迁移到DDS_MongoDB分片集群 本页为使用数据传输服务DTS将DDS/MongoDB副本集架构数据迁移到DDS/MongoDB分片集群架构的详细介绍,包括数据迁移支持的源库、目标库,支持的迁移对象及SQL,数据库账号权限说明,操作须知,操作步骤等。 支持的源和目标数据库 源数据库 目标数据库 DDS 3.4/4.0(副本集) 自建MongoDB 3.4/4.0/4.2/4.4/5.0/6.0(副本集) DDS 3.4/4.0(分片集群) 自建MongoDB 3.4/4.0/4.2/4.4/5.0/6.0(分片集群) 支持的迁移对象及SQL 迁移对象 当前DTS支持集合级(指定集合对象)、库级(整库迁移)迁移。 支持索引的结构迁移。 库、集合支持做名称映射。 不支持迁移admin和local库中的数据。 数据迁移仅针对数据源中的用户数据库,而系统库会被自动过滤。 增量迁移支持的SQL操作 DML INSERT、UPDATE、REPLACE、DELETE。 DDL 结构迁移仅支持INDEX迁移,如果是整库迁移,支持其下新增表的迁移;不支持增量迁移过程中的DDL操作。 数据库账号及权限 数据库 所需权限 参考赋权语句 源库 全量:具备admin库的readAnyDatabase权限、clusterMonitor权限。 增量:具备admin库的readAnyDatabase权限、clusterMonitor权限,local库的read权限。 或者具备超级用户权限。 全量: db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"clusterMonitor",db:"admin"}]) 增量: db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"clusterMonitor",db:"admin"}, {role:"read",db:"local"}]) 目标库 mongos用户需要具备admin库的dbAdminAnyDatabase权限,admin库的readWriteAnyDatabase权限以及有admin库的clusterManager权限。 db.grantRolesToUser("用户名",[{role:"dbAdminAnyDatabase",db:"admin"}, {role:"readWriteAnyDatabase",db:"admin"},{role:"clusterManager",db:"admin"}])
来自: