MongoDB

UDTS 支持 MongoDB(自建/UDB MongoDB/其它云厂商提供的标准MongoDB服务)单节点、副本集、分片集之间的相互迁移。

源目数据库版本支持 3.0 至 6.0。由于跨版本特性兼容问题,不支持跨大版本迁移。例如,从3.x迁移到5.x时,需要创建4.x版本的中转库,先从3.x迁移到4.x,再从4.x迁移到5.x。

功能限制

  1. 不迁移系统内置库,config/local/admin
  2. 当源或者目标MongoDB版本低于3.6时,增量迁移不支持DDL
  3. 当源库为分片集群时,增量迁移不支持DDL
  4. 增量迁移源库必须开启oplog

副本集的迁移

  1. 当源库地址是单地址时,源库集群发生主从切换之后,任务暂时可以运行,但任务失败/停止后重启时无法启动
  2. 当目标库地址是单地址时,目标库集群发生主从切换之后,任务可能运行异常,任务失败/停止后重启时无法启动
  3. 源库/目标库是副本集时,推荐在地址处同时填写主备地址, 如 primary:port,secondary:port 。 这样源库/目标库发生主从切换之后,任务会自动切换到新的primary节点继续运行
  4. 源库/目标库为 UMongoDB NVMe型 时,填写访问地址中所有地址。

分片集群的迁移

  1. 源库为分片集群时需要填写 mongos地址,所有分片地址,以及Config Server节点地址。
  2. 目标为分片集时,迁移地址需要填写mongos路由地址
  3. 在迁移前需要关闭源库Balancer
  4. 清理源库中的孤儿文档,防止迁移时遇到id冲突的问题
  5. 当源库和目标库都是分片集群时,那么也将默认同时迁移源库中的片键

注意事项

  1. MongoOplogTs需填写UTC时间(与CST时间差8小时),例如:期望同步点为北京时间2021-03-01 20:10:10时,应填写2021-03-01T12:10:10Z
  2. UDB MongoDB 副本集填写示例,填写所有地址
    mongo
  3. 跨版本迁移时,请注意源库中是否存在与目标库不兼容的特性

MongoDB填写表单

源为副本集或者单节点表单填写说明

参数名 说明
地址 提供内网地址,外网地址,专线地址三种方式,内网地址需要填写VPC和子网信息,外网地址支持ip和域名两种。
副本集填写所有节点地址,如: 192.168.1.100:27017,192.168.1.120:27017,192.168.1.130:27017
授权DB 授权数据库名 ,UDB MongoDB默认为admin
Collection 集合, MongoDB 文档组,若不填,默认为迁移指定库中的所有集合;指定一个集合传输,请填写集合名;指定多个集合传输,依次输入多个集合名,集合名之间使用英文逗号隔开
数据库名 MongoDB数据库名称。传输全库(系统库除外)请填写 * ;指定一个数据库传输,请填写数据库名;指定多个数据库传输,依次输入多个数据库名,库名之间使用英文逗号隔开。
用户名 MongoDB连接用户名
密码 MongoDB数据库对应用户密码
MongoOplogTs (仅增量任务需填写)增量开始的oplog位置,即增量同步点,格式为1970-01-01T00:00:00Z(UTC time)

源为分片集表单填写说明

参数名 说明
数据节点IP与端口 分片集源库填写所有分片的地址,每个分片填写一行,如:192.168.1.100:27017,192.168.1.120:27017,192.168.1.130:27017
多分片请换行填写,如三分片填写三行:
192.168.1.100:27017,192.168.1.120:27017,192.168.1.130:27017
192.168.1.101:27017,192.168.1.121:27017,192.168.1.131:27017
192.168.1.102:27017,192.168.1.122:27017,192.168.1.132:27017
路由节点地址 分片集群的mongos 地址, 如: 192.168.2.126:27017,192.168.2.136:27017
配置节点地址 分片集群的Config server 地址, 如: 192.168.1.200:27017,192.168.1.220:27017,192.168.1.230:27017
授权DB 授权数据库名 ,UDB MongoDB默认为admin
Collection 集合, MongoDB 文档组,若不填,默认为迁移指定库中的所有集合;指定一个集合传输,请填写集合名;指定多个集合传输,依次输入多个集合名,集合名之间使用英文逗号隔开
数据库名 MongoDB数据库名称。传输全库(系统库除外)请填写 * ;指定一个数据库传输,请填写数据库名;指定多个数据库传输,依次输入多个数据库名,库名之间使用英文逗号隔开。
用户名 MongoDB连接用户名 (相同用户名密码填写此项,各角色不同请分别填写)
密码 MongoDB数据库对应用户密码 (相同用户名密码填写此项,各角色不同请分别填写)

目标为副本集或分片集表单填写

参数名 说明
地址 提供内网地址。
副本集填写所有节点地址,如: 192.168.1.100:27017,192.168.1.120:27017,192.168.1.130:27017
分片集填写mongos路由地址, 如:192.168.1.100:27017,192.168.1.120:27017
授权DB 授权数据库名 ,UDB MongoDB默认为admin
用户名 MongoDB连接用户名
密码 MongoDB数据库对应用户密码

最近更新时间:2025-03-19 06:38:48