MongoDB
UDTS 支持 MongoDB(自建/UDB MongoDB/其它云厂商提供的标准MongoDB服务)单节点、副本集、分片集之间的相互迁移。
源目数据库版本支持 3.0 至 6.0。由于跨版本特性兼容问题,不支持跨大版本迁移。例如,从3.x迁移到5.x时,需要创建4.x版本的中转库,先从3.x迁移到4.x,再从4.x迁移到5.x。
功能限制
- 不迁移系统内置库,config/local/admin
- 当源或者目标MongoDB版本低于3.6时,增量迁移不支持DDL
- 当源库为分片集群时,增量迁移不支持DDL
- 增量迁移源库必须开启oplog
副本集的迁移
- 当源库地址是单地址时,源库集群发生主从切换之后,任务暂时可以运行,但任务失败/停止后重启时无法启动
- 当目标库地址是单地址时,目标库集群发生主从切换之后,任务可能运行异常,任务失败/停止后重启时无法启动
- 源库/目标库是副本集时,推荐在地址处同时填写主备地址, 如
primary:port,secondary:port
。 这样源库/目标库发生主从切换之后,任务会自动切换到新的primary
节点继续运行 - 源库/目标库为 UMongoDB NVMe型 时,填写访问地址中所有地址。
分片集群的迁移
- 源库为分片集群时需要填写 mongos地址,所有分片地址,以及Config Server节点地址。
- 目标为分片集时,迁移地址需要填写mongos路由地址
- 在迁移前需要关闭源库Balancer
- 清理源库中的孤儿文档,防止迁移时遇到id冲突的问题
- 当源库和目标库都是分片集群时,那么也将默认同时迁移源库中的片键
注意事项
- MongoOplogTs需填写UTC时间(与CST时间差8小时),例如:期望同步点为北京时间
2021-03-01 20:10:10
时,应填写2021-03-01T12:10:10Z
- UDB MongoDB 副本集填写示例,填写所有地址
- 跨版本迁移时,请注意源库中是否存在与目标库不兼容的特性
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