文档数据库 MongoDB 版
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<host1>:<port>,<host2>:<port>,...,<hostN>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
replicaSet=<replicaSetName> | 必填,副本集名称。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
readPreference=<value> | 可选,自定义读节点优先策略,可选择优先读取主节点或从节点。 |
retryWrites=true | 可选,建议生产环境配置,网络轻微抖动时自动重试写入请求,提升访问稳定性。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<host1>:<port>,<host2>:<port>,<hostN>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
replicaSet=<replicaSetName> | 必填,副本集名称。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
readPreference=secondary | 必填,指定读请求优先路由至从节点和只读节点。 |
readPreferenceTags=role:readonly | 必填,精准路由读请求至专属只读节点,确保仅执行读操作。 |
retryWrites=true | 可选,生产环境建议配置,用于提升特定写入操作的稳定性,避免网络波动导致写入失败。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<primaryHost>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
directConnection=true | 必填,强制固定连接主节点,所有读写请求均在主节点执行。
|
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<secondaryHost>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
directConnection=true | 必填,强制固定连接从节点,不参与集群自动故障切换。
|
readPreference=secondary | 可选,设置读偏好策略,指定从从节点读取数据,不影响写入操作。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<readonlyHost>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
directConnection=true | 必填,强制固定连接只读节点,不参与集群自动故障切换。
|
readPreference=secondary | 可选,设置读偏好策略,指定从从节点读取数据,不影响写入操作。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<mongos1>:<port>,<mongos2>:<port>... | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
retryWrites=true | 可选,建议生产环境配置,网络轻微抖动时自动重试写入请求,提升访问稳定性。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<mongos>:<port> | |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<shard1>:<port>,<shard2>:<port> | 必填,分片集群 Shard 节点的域名和端口信息,多个节点用英文逗号(,)分隔。默认端口号为 3717。 |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
replicaSet=<shardReplicaSet> | 必填,Shard 节点所属副本集名称。 说明 此处 replicaSet 参数并非表示独立副本集实例,而是 Shard 节点的高可用部署配置,每个 Shard 节点以副本集模式部署,确保分片数据安全,整体仍属于分片集群。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
参数 | 说明 |
参数 | 说明 |
mongodb:// | 固定前缀,用于标识 MongoDB 连接协议,不可修改。 |
<username> | 必填,数据库账号名称,默认为 root。 |
<password> | 必填,数据库账号对应密码。 |
<cfg1>:<port>,<cfg2>:<port>,<cfg3>:<port> | 必填,分片集群 ConfigServer 节点的域名和端口信息,多个节点用英文逗号(,)分隔。默认端口号为 3717。 |
<database> | 可选,身份认证时使用的数据库,默认为 admin。 |
replicaSet=<configReplicaSet> | 必填,ConfigServer 节点所属副本集名称。 说明 此处 replicaSet 参数并非表示独立副本集实例,而是 ConfigServer 节点的高可用部署配置,ConfigServer 以 3节点副本集模式部署,保障集群元数据安全,不属于独立副本集实例。 |
authSource=admin | 必填,固定填写 admin,用于数据库账号权限认证。 |
序号 | 适用场景 | 配置说明 | 单点故障影响 | 连接地址配置 | 核心配置参数 |
序号 | 适用场景 | 配置说明 | 单点故障影响 | 连接地址配置 | 核心配置参数 |
1 | 电商下单、支付结算、用户登录认证等核心场景。无需读写分离,追求数据强一致和高可用。 | 默认高可用配置(推荐),读写请求均访问主节点。 | 主节点故障:实例自动主备切换,切换后可正常读写; 从节点故障:无影响。 | mongodb://<user>:<password>@host0,host1/?authSource=admin&replicaSet=rs-mongo-replica-xxx&retryWrites=true | retryWrites=true |
2 | 中小电商、内容平台。需实现零成本读写分离(不新增节点),如商品详情查询、文章列表加载,控制节点部署成本。 | 读写分离配置(推荐),读请求优先访问从节点,故障时访问主节点,零成本分流。 | 主节点故障:主备切换后,可正常读写; 从节点故障:无影响。 说明 无需新增节点。若主从节点存在数据同步延迟,则会对业务读取数据的准确性造成影响。 | mongodb://<user>:<password>@host0,host1/?authSource=admin&replicaSet=rs-mongo-replica-xxx&retryWrites=true&readPreference=secondaryPreferred | readPreference=secondaryPreferred |
3 | 大型电商、大数据平台,强依赖读写分离,追求高可用,如实时数据分析、用户行为统计、高频商品查询,需稳定读请求路由。 | 读写分离配置(推荐),读请求优先访问只读节点,无可用节点时访问主节点。 | 主节点故障:主备切换后,可正常读写; 部分只读节点故障:无影响; 所有只读节点故障:无影响。 说明 建议新增 2 个及以上只读节点。 | mongodb://<user>:<password>@host0,host1,readonly-host0,readonly-host1/?authSource=admin&replicaSet=rs-mongo-replica-xxx&retryWrites=true&readPreference=secondaryPreferred&readPreferenceTags=role:readonly | readPreference=secondaryPreferred&readPreferenceTags=role:readonly |
4 | 非核心链路的读写分离场景,如商品评论列表查询、历史订单查询(非核心页面)。读请求仅允许访问从节点。 | 读写分离配置,读请求仅访问从节点,核心在线链路避免使用。 | 主节点故障:主备切换后,写请求正常,读请求失败; 从节点故障:读请求失败。 | mongodb://<user>:<password>@host0,host1/?authSource=admin&replicaSet=rs-mongo-replica-xxx&retryWrites=true&readPreference=secondary | readPreference=secondary |
5 | 读写分离且读请求仅允许访问只读节点(无降级需求),如固定时段的报表统计、非实时数据查询。 | 读写分离配置,读请求仅访问只读节点,无可用节点时不降级。 | 主节点故障:主备切换后,可正常读写; 部分只读节点故障:无影响; 所有只读节点故障:读请求失败。 说明 需提前规划并部署只读节点,确保读请求有可用节点承接。 | mongodb://<user>:<password>@host0,host1,readonly-host0,readonly-host1/?authSource=admin&replicaSet=rs-mongo-replica-xxx&retryWrites=true&readPreference=secondary&readPreferenceTags=role:readonly | readPreference=secondary&readPreferenceTags=role:readonly |
6 | 运维人员临时调试、故障排查,如数据库性能检测、数据异常排查,无需高可用保障。 | 单节点访问,生产环境避免使用。 | 节点故障:读写请求全部失败。 | mongodb://<user>:<password>@host0/?directConnection=true | directConnection=true |
问题现象 | 常见原因 | 处理方案 |
问题现象 | 常见原因 | 处理方案 |
连接超时,无法访问实例 | 未配置 IP 白名单、未放行 3717 端口、网络地址选择错误 | 1. 在控制台添加客户端 IP 至白名单;2. 放行 3717 端口;3. 优先使用私网地址连接。 说明 |
登录失败,提示认证异常 | 账号密码错误、连接认证参数配置错误 | 核对账号密码,确保连接配置中 authSource=admin 参数正确。 |
直连从节点 / 只读节点,写入报错 | 未使用集群统一的连接地址,仅单独直连从节点 / 只读节点 | 使用集群统一的连接地址,不单独直连从节点 / 只读节点。 |
副本集连接异常,路由失败 | 未配置 replicaSet 参数、节点域名填写错误 | 补充 replicaSet 参数配置,按控制台显示的节点域名准确填写。 |
分片集群连接失败 | 节点地址拼接错误,连接 Shard、ConfigServer 节点未配置 replicaSet 参数(连接 Mongos 节点无需配置此参数) | 按标准格式拼接节点地址,Shard 和 ConfigServer 节点补充 replicaSet 参数配置。 |
网络不稳定,连接频繁中断、写入失败 | 未开启写入重试功能 | 开启写入重试功能(配置 retryWrites=true 参数),避免连接中断导致写入失败。 |