Docs 菜单

Docs 主页开发应用程序MongoDB Manual

mongod

在此页面上

  • 概要
  • 兼容性
  • 考虑因素
  • 选项
  • 核心选项
  • LDAP 身份验证或授权选项
  • 存储选项
  • WiredTiger 选项
  • 复制选项
  • 分片集群选项
  • TLS 选项
  • 分析器选项
  • 审核选项
  • 内存选项
  • 加密密钥管理选项

mongod 是 MongoDB 系统的主守护进程,处理数据请求、管理数据访问权限并执行后台管理操作。

本文档提供 mongod 的所有命令行选项的完整概述。这些命令行选项主要用于测试:在常用操作中,使用配置文件选项控制数据库的行为。

提示

另请参阅:

注意

MongoDB 禁用对 TLS 1的支持。在使用 TLS 1的系统上进行0加密。 1 + 可用。

在以下环境中托管的部署使用 mongod

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

MongoDB Atlas 托管所有 MongoDB Atlas 部署的 mongod

  • mongod包括全时诊断数据捕获机制,以协助 MongoDB 工程师对部署进行故障排除。如果该线程失败,则会终止原始进程。为了避免出现最常见的故障,请确认运行该进程的用户有权创建 FTDC diagnostic.data目录。对于mongod ,目录在storage.dbPath之内。对于mongos ,它与systemLog.path平行。

在版本 6.1 中更改

  • MongoDB 始终会启用日志功能。因此,MongoDB 删除了 storage.journal.enabled 选项以及相应的 --journal--nojournal 命令行选项。

在 5.2 版中更改

  • MongoDB 删除 --cpu 命令行选项。

版本 5.0 中进行了更改

  • MongoDB 删除 --serviceExecutor 命令行选项和相应的 net.serviceExecutor 配置选项。

--help, -h

返回有关 mongod 的选项和使用的信息。

--version

返回 mongod 版本号。

--config <filename>, -f <filename>

指定运行时配置选项的配置文件。配置文件是运行时配置 mongod 的首选方法。这些选项相当于命令行配置选项。更多信息,请参阅配置文件选项

确保配置文件使用 ASCII 编码。mongod 实例不支持非 ASCII 编码的配置文件,包括 UTF-8。

--configExpand <none|rest|exec>

默认:无

启用在配置文件中使用扩展指令。扩展指令允许您为配置文件选项设置外部来源的值。

--configExpand 支持以下扩展指令:

说明
none
默认。mongod 不扩展扩展指令。如果任何配置文件设置使用扩展指令,mongod 将无法启动。
rest
解析配置文件时,mongod 会扩展 __rest 扩展指令。
exec
解析配置文件时,mongod 会扩展 __exec 扩展指令。

您可以将多个扩展指令指定为逗号分隔的列表,例如: rest, exec 。如果配置文件包含未指定给--configExpand的扩展指令, mongod将返回错误并终止。

有关扩展指令的更多信息,请参阅配置文件的外部来源配置文件值

--verbose, -v

增加标准输出或日志文件中返回的内部报告数量。通过多次包含该选项,可以使用 -v 形式增加详细程度,例如:-vvvvv

注意

从版本 4.2 开始,MongoDB 在日志消息中包含调试详细级别(1 至 5 级)。例如,如果详细级别为 2,则 MongoDB 记录 D2。在以前版本中,MongoDB 日志消息仅为调试级别指定 D

--quiet

在尝试限制输出量的安静模式下运行 mongod

该选项会抑制:

--port <port>

默认值

MongoDB 实例监听客户端连接的 TCP 端口。

在版本 7.0.3 中更改--port 选项接受 065535 之间的值范围。将端口设置为 0 会将 mongod 配置为使用操作系统分配的任意端口。

--bind_ip <hostnames|ipaddresses|Unix domain socket paths>

默认值:localhost

mongod 应侦听客户端连接的主机名和/或 IP 地址和/或完整 Unix 域套接字路径。您可以将 mongod 连接到任何接口。要绑定到多个地址,输入以逗号分隔的值列表。

例子

localhost,/tmp/mongod.sock

您可以指定 IPv4 和 IPv6 解决方案,或解析为 IPv4 或 IPv6 地址的主机名。

例子

localhost, 2001:0DB8:e132:ba26:0d5c:2774:e7f9:d513

注意

如果将 IPv 6地址解析为 IPv 6地址的主机名指定给--bind_ip ,则必须以--ipv6开头mongod ,以启用 IPv 6支持。为--bind_ip指定 IPv 6地址不会启用 IPv 6支持。

如果指定 链路本地 IPv6 地址 (fe80::/10 ),必须将 区域索引 附加到 到该地址(即fe80::<address>%<adapter-name> )。

例子

localhost,fe80::a00:27ff:fee0:1fcf%enp0s3

重要

要避免因 IP 地址变更而更新配置,请使用 DNS 主机名而非 IP 地址。在配置副本集成员或分片集群成员时,使用 DNS 主机名而非 IP 地址尤为重要。

使用主机名而不是 IP 地址在分割网络范围内配置集群。从 MongoDB 5开始。 0 ,仅配置了 IP 地址的节点未通过启动验证,因此不会启动。

警告

将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅安全检查清单。至少应考虑强化网络基础设施启用身份验证

有关 IP 绑定的更多信息,请参阅 IP 绑定文档。

要绑定到所有 IPv4 地址,请输入 0.0.0.0

要绑定到所有 IPv 4和 IPv 6地址,请输入::,0.0.0.0或星号"*" (将星号括在引号中以避免文件名模式扩展)。或者,使用net.bindIpAll设置。

注意

  • --bind_ip--bind_ip_all 是互斥的。同时指定两个选项会导致 mongod 引发错误并终止。

  • 命令行选项 --bind 覆盖配置文件设置 net.bindIp

--bind_ip_all

如果指定, mongod实例将绑定到所有 IPv 4地址(即0.0.0.0 )。如果mongod--ipv6 } 开头,则--bind_ip_all也会绑定到所有 IPv 6地址(即:: )。

mongod 如果使用 启动,则仅支持6--ipv6 IPv 。单独指定 并不能启用--bind_ip_all IPv6 支持。

警告

将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅安全检查清单。至少应考虑强化网络基础设施启用身份验证

有关 IP 绑定的更多信息,请参阅 IP 绑定文档。

或者,您可以将--bind_ip选项设置为::,0.0.0.0或星号"*" (将星号括在引号中以避免文件名模式扩展)。

注意

--bind_ip--bind_ip_all 是互斥的。也就是说,您可以指定其中之一,但不能同时指定两者。

--clusterIpSourceAllowlist <string>

版本 5.0 中的新增功能

IP 地址/CIDR( 无类域间路由 )范围,mongod 验证来自副本集其他成员的身份验证请求,如果是分片集群的一部分,还验证来自mongos 实例的身份验证请求。mongod 验证源 IP 是否明确位于列表中或属于列表中的 CIDR 范围。如果 IP 地址不存在,则服务器不对mongodmongos 进行身份验证。

--clusterIpSourceAllowlist对未经身份验证启动的mongod没有影响

--clusterIpSourceAllowlist接受多个以逗号分隔的 IPv4 /6 地址或无类域间路由 ( CIDR )范围:

mongod --clusterIpSourceAllowlist 192.0.2.0/24,127.0.0.1,::1

重要

确保--clusterIpSourceAllowlist包含 IP 地址CIDR 范围,其中包含部署中每个副本集成员或mongos的 IP 地址,以确保集群组件之间的健康通信。

--clusterIpSourceWhitelist <string>

已在版本5中弃用。 0 :改用--clusterIpSourceAllowlist

IP 地址/CIDR( 无类域间路由 )范围,mongod 验证来自副本集其他成员的身份验证请求,如果是分片集群的一部分,还验证来自mongos 实例的身份验证请求。mongod 验证源 IP 是否明确位于列表中或属于列表中的 CIDR 范围。如果 IP 地址不存在,则服务器不对mongodmongos 进行身份验证。

--clusterIpSourceWhitelist对未经身份验证启动的mongod没有影响

--clusterIpSourceWhitelist接受多个以逗号分隔的 IPv4 /6 地址或无类域间路由 ( CIDR )范围:

mongod --clusterIpSourceWhitelist 192.0.2.0/24,127.0.0.1,::1

重要

确保--clusterIpSourceWhitelist包含 IP 地址CIDR 范围,其中包含部署中每个副本集成员或mongos的 IP 地址,以确保集群组件之间的健康通信。

--ipv6

启用 IPv6 支持。默认情况下,mongod 禁用 IPv6 支持。

设置--ipv6不会指示mongod侦听任何本地 IPv 6地址或接口。要将mongod配置为侦听 IPv 6接口,您必须:

  • 使用一个或多个可解析为 IPv 6地址的 IPv 6地址或主机名配置--bind_ip或者

  • --bind_ip_all设置为true

--listenBacklog <number>

默认值:目标系统 SOMAXCONN 常量

监听队列中可以存在的最大连接数。

警告

在使用此参数之前,请查阅本地系统的文档以了解限制条件和配置要求。

重要

要防止出现未定义行为,为此参数指定一个介于 1 和本地系统 SOMAXCONN 常量之间的值。

listenBacklog 参数的默认值在编译时设置为目标系统 SOMAXCONN 常量。SOMAXCONN 是为侦听系统调用的积压参数记录的最大有效值。

某些系统可能会以符号的形式解释 SOMAXCONN,而另一些系统则以数字方式解释。实践中应用的实际侦听积压可能与 SOMAXCONN 常量或 --listenBacklog 参数的任何数字解释不同,并且还可能受到 Linux 上的 net.core.somaxconn 等系统设置的限制。

根据标准的规定,为 listenBacklog 参数传递超过本地系统 SOMAXCONN 常量的值是未定义行为。较高的值可能会被默默地整数截断、可能被忽略、可能导致意外资源消耗,或者产生不利后果。

在工作负载出现连接峰值的系统上,经验证本地系统能够支持比 SOMAXCONN 常量更高的积压参数值,通过减少被迫进入回退状态的连接次数,将 listenBacklog 参数设置为更高的值可能会减少客户端观察到的操作延迟。

--maxConns <number>

mongod 接受的最大并行连接数。如果该设置高于操作系统配置的最大连接跟踪阈值,则该设置无效。

不要为此选项分配过低的值,否则会在正常的应用程序操作期间遇到错误。

--logpath <path>

将所有诊断日志记录信息发送到日志文件中,而不是标准输出或主机的系统日志系统。MongoDB 在您指定的路径创建日志文件。

默认情况下,MongoDB 会移动而不是覆盖任何现有日志文件。要改为追加到日志文件,请设置--logappend选项。

--syslog

将所有日志输出发送到主机的系统日志系统,而不是发送到标准输出或日志文件 ( --logpath )。

Windows 不支持--syslog选项。

警告

syslog守护进程在记录消息时生成时间戳,而不是在 MongoDB 发布消息时生成时间戳。这可能会导致日志条目的时间戳产生误导,尤其是当系统负载较重时。我们建议对生产系统使用--logpath选项,以确保时间戳的准确性。

MongoDB 在其发送给syslog的日志消息中包含该组件

... ACCESS [repl writer worker 5] Unsupported modification to roles collection ...
--syslogFacility <string>

默认:用户

指定将消息记录到系统日志时使用的设施级别。操作系统的 syslog 实施必须支持您指定的值。要使用此选项,必须启用--syslog选项。

--logappend

mongod 实例重新启动时,将新条目附加到现有日志文件的末尾。如果没有此选项,mongod 将备份现有日志并创建新文件。

--logRotate <string>

默认:重命名

确定轮换服务器日志和/或审核日志时 logRotate 命令的行为。指定 renamereopen

  • rename 对日志文件进行重命名。

  • reopen 按照典型的 Linux/Unix 日志轮换行为关闭并重新打开日志文件。使用 Linux/Unix logrotate 实用程序时使用 reopen 避免日志丢失。

    如果指定reopen ,则还必须使用--logappend

--timeStampFormat <string>

默认:iso8601-local

日志消息中时间戳的时间格式。指定以下值之一:

说明
iso8601-utc
以 ISO-8601 格式显示协调通用时间 (UTC) 的时间戳。例如,对于纪元开始时的纽约: 1970-01-01T00:00:00.000Z
iso8601-local
以 ISO-8601 格式显示当地时间的时间戳。例如,对于纪元开始时的纽约: 1969-12-31T19:00:00.000-05:00

注意

--timeStampFormat不再支持ctimectime格式日期的示例为: Wed Dec 31 18:17:54.811

--traceExceptions

仅供内部诊断使用。

--pidfilepath <path>

指定文件位置以存储mongod进程的进程 ID (PID)。运行mongodmongos进程的用户必须能够写入此路径。如果未指定--pidfilepath选项,则进程不会创建 PID 文件。此选项通常仅在与--fork选项结合使用时有用。

注意

Linux

在 Linux 上,PID 文件通常由发行版的初始化系统负责管理:通常是/etc/init.d目录中的服务文件,或者是使用systemctl注册的 systemd 单元文件。仅当您未使用这些初始化系统时才使用--pidfilepath选项。有关更多信息,请参阅适用于您的操作系统的相应安装指南

注意

macOS

在 macOS 上,PID 文件管理通常由brew处理。仅当您未在 macOS 系统上使用brew时才使用--pidfilepath选项。有关更多信息,请参阅适用于您的操作系统的相应安装指南。

--keyFile <file>

指定密钥文件的路径,该文件存储 MongoDB 实例用于在分片集群副本集中相互验证的共享密钥。 --keyFile意味着--auth 。有关更多信息,请参阅内部/会员身份验证

用于内部成员身份验证的密钥文件使用 YAML 格式,以允许密钥文件中包含多个密钥。 YAML 格式接受以下任一项:

  • 单个密钥字符串(与早期版本相同)

  • 键字符串序列

YAML 格式与使用文本文件格式的现有单密钥文件兼容。

--setParameter <options>

指定 MongoDB Server 参数中描述的 MongoDB 参数之一。您可以指定多个 setParameter 字段。

--nounixsocket

禁用 UNIX 域套接字上的侦听。 --nounixsocket仅适用于基于 Unix 的系统。

mongod 进程始终侦听 UNIX 套接字,除非满足以下任一条件:

mongod 通过官方 .deb.rpm 软件包默认将 bind_ip 配置设置为 127.0.0.1

--unixSocketPrefix <path>

默认:/tmp

UNIX 套接字的路径。 --unixSocketPrefix仅适用于基于 Unix 的系统。

如果此选项没有值,则 mongod 进程将创建一个以 /tmp 作为前缀的套接字。MongoDB 创建并侦听 UNIX 套接字,除非满足以下条件之一:

--filePermissions <path>

默认值0700

设置 UNIX 域套接字文件的权限。

--filePermissions 仅适用于基于 Unix 的系统。

--fork

启用在后台运行mongod进程的守护进程模式。 Windows 不支持--fork选项。

默认情况下, mongod不作为守护进程运行。您可以使用--fork或处理守护进程的控制进程(例如upstartsystemdmongod作为守护进程运行。

要使用--fork ,请使用以下选项之一配置mongod的日志输出:

--auth

启用授权以控制用户对数据库资源和操作的访问。启用授权后,MongoDB 要求所有客户端先进行身份验证,以确定各客户端对应的访问权限。

要配置用户,请使用mongosh客户端。如果用户不存在,则本地主机接口可以访问数据库,直到您创建第一个用户。

有关详细信息,请参阅安全性

--noauth

禁用身份验证。目前为默认选项。设置该选项是出于今后兼容性以及明确性的考虑。

--transitionToAuth

允许mongod接受和创建与部署中其他mongodmongos实例之间的经过身份验证和未经身份验证的连接。用于执行副本集或分片集群从无身份验证配置到内部身份验证的滚动过渡。需要指定内部身份验证机制,例如--keyFile

例如,如果使用密钥文件进行内部身份验证mongod 会使用匹配的密钥文件与部署中的任何 mongodmongos 创建经身份验证的连接。如果安全机制不匹配,则 mongod 将改用未经身份验证的连接。

使用--transitionToAuth mongod不会实施用户访问控制。用户无需任何访问控制检查即可连接到您的部署,并执行读取、写入和管理操作。

注意

使用 mongod内部身份验证 运行 且未使用 的 --transitionToAuth要求客户端使用 用户访问控制 进行连接。更新客户端以在不使用mongod 的情况下重新启动 之前使用适当的 用户 连接到mongod --transitionToAuth

--sysinfo

返回诊断系统信息,然后退出。该信息提供了页面大小、物理页面数量以及可用物理页面数量。

--noscripting

禁用脚本引擎。

--notablescan

禁止需要集合扫描的操作。更多信息,请参阅 notablescan

--shutdown

--shutdown选项可安全彻底地终止mongod 进程。使用此选项调用mongod --dbpath时,必须直接或通过 配置文件--config 选项设置 选项。

--shutdown选项仅在 Linux 系统上可用。

有关关闭的其他方法,另请参阅 停止 mongod 进程。

--redactClientLogData

仅在 MongoDB Enterprise 中可用。

通过--redactClientLogData mongod会在记录之前编辑与给定日志事件相关的任何消息。这可以防止mongod将数据库中存储的潜在敏感数据写入诊断日志。错误或操作代码、行号和源文件名等元数据在日志中仍然可见。

--redactClientLogData静态加密TLS/SSL(传输加密)结合使用,以帮助遵守监管要求。

例如,MongoDB 部署可能会将个人身份信息 (PII) 存储在一个或多个集合中。mongod 会记录与 CRUD 操作、分片元数据等相关的事件。 可能会将mongod PII 作为这些日志记录操作的一部分公开。使用mongod --redactClientLogData会在输出到日志之前删除与这些事件相关的任何消息,从而有效地删除 PII。

mongod--redactClientLogData由于缺少与日志事件相关的数据,对运行 的 进行诊断可能会更加困难。有关 对日志输出的影响的示例,请参阅 进程日志记录 --redactClientLogData手册页面。

在运行中的 mongod 上,使用 setParameterredactClientLogData 参数配置此设置。

--networkMessageCompressors <string>

默认:snappy,zstd,zlib

指定默认压缩程序用于此 mongod 实例与以下对象之间的通信:

  • 部署的其他成员(如果实例是副本集或分片集群的一部分)

  • mongosh

  • 支持 OP_COMPRESSED 消息格式的驱动程序。

MongoDB 支持以下压缩程序:

注意

mongodmongos实例均按以下顺序默认使用snappy,zstd,zlib压缩器。

要禁用网络压缩,请将值设置为 disabled

重要

当双方都启用网络压缩时,消息就会被压缩。否则,各方之间的消息不会被压缩。

如果指定多个压缩程序,则列出压缩程序的顺序以及通信发起者都很重要。例如,如果mongosh指定以下网络压缩程序zlib,snappymongod指定snappy,zlib ,则mongoshmongod之间的消息使用zlib

如果各方未共享至少一个通用压缩程序,则各方之间的消息将不会被压缩。例如,如果mongosh指定网络压缩程序zlibmongod指定snappy ,则mongoshmongod之间的消息不会被压缩。

--timeZoneInfo <path>

加载时区数据库的完整路径。如果未提供此选项,则 MongoDB 将使用其内置时区数据库。

Linux 和 macOS 软件包中包含的配置文件默认将时区数据库设置为 /usr/share/zoneinfo

内置时区数据库是 OLSON/IANA 时区数据库的副本。它随着 MongoDB 的发布而更新,但时区数据库的发布周期与 MongoDB 的发布周期不同。时区数据库的最新版本可在我们的下载网站上找到。

wget https://downloads.mongodb.org/olson_tz_db/timezonedb-latest.zip
unzip timezonedb-latest.zip
mongod --timeZoneInfo timezonedb-2017b/

警告

MongoDB 使用第三方 时间库 库提供时区之间的准确转换。由于最近的更新,timelib 可能会在旧版本的 MongoDB 中创建不准确的时区转换。

在 之前的 MongoDB5 0版本中显式链接到时区数据库。 ,下载timeZoneInfo 时区数据库 。并使用 参数。

提示

--outputConfig

mongod实例的配置选项(采用 YAML 格式)输出到stdout并退出mongod实例。对于使用“源自外部的配置文件值”的配置选项, --outputConfig将返回这些选项的解析值。

警告

这可能包括之前通过外部来源进行模糊处理的任何配置的密码或密钥。

有关用法示例,请参阅:

--ldapServers <host1>:<port>,<host2>:<port>,...,<hostN>:<port>

仅在 MongoDB Enterprise 中可用。

特定 LDAP 服务器,mongod 在该服务器上对用户进行身份验证或决定授权用户可对给定数据库执行哪些操作。如果指定的 LDAP 服务器有任何复制的实例,则可以在逗号分隔的列表中指定每个复制的服务器的主机和端口。

如果您的 LDAP 基础架构将 LDAP 目录分区到多个 LDAP 服务器,请将 一个 LDAP 服务器或其任何复制实例指定为 。--ldapServers MongoDB 支持 RFC 中定义的以下 LDAP451141 引用。 。10 。请勿使用 列出基础架构中的每台 LDAP--ldapServers 服务器。

可以在运行中的 mongod 上配置此设置,但需使用 setParameter

如果未设置,mongod 无法使用 LDAP 身份验证或授权

--ldapValidateLDAPServerConfig <boolean>

在 MongoDB Enterprise 中可用

一个标志,用于确定mongod实例是否在启动时检查LDAP server(s)的可用性:

  • 如果为 true,则 mongod 实例执行可用性检查,并且仅在 LDAP 服务器可用时才继续启动。

  • 如果为 false,则 mongod 实例将跳过可用性检查;也就是说,即使 LDAP 服务器不可用,实例也会启动。

--ldapQueryUser <string>

仅在 MongoDB Enterprise 中可用。

mongod 连接到 LDAP 服务器或在该服务器上执行查询时所绑定的身份。

仅当满足以下任一条件时才需要:

您必须将--ldapQueryUser--ldapQueryPassword一起使用。

如果未设置,则 mongod 不会尝试绑定到 LDAP 服务器。

可以在运行中的 mongod 上配置此设置,但需使用 setParameter

注意

Windows MongoDB 部署可以使用--ldapBindWithOSDefaults代替--ldapQueryUser--ldapQueryPassword 。您不能同时指定--ldapQueryUser--ldapBindWithOSDefaults

--ldapQueryPassword <string | array>

仅在 MongoDB Enterprise 中可用。

使用--ldapQueryUser时用于绑定到 LDAP 服务器的密码。您必须将--ldapQueryPassword--ldapQueryUser一起使用。

如果未设置,则mongod不会尝试绑定到 LDAP 服务器。

您可以使用 在运行中的mongod setParameter上配置此设置。

ldapQueryPassword setParameter命令接受字符串或字符串数组。如果将ldapQueryPassword设置为数组,则 MongoDB 按顺序尝试每个密码,直到成功为止。使用密码数组滚动 LDAP 帐户密码,无需停机。

注意

Windows MongoDB 部署可以使用--ldapBindWithOSDefaults代替--ldapQueryUser--ldapQueryPassword 。您不能同时指定--ldapQueryPassword--ldapBindWithOSDefaults

--ldapBindWithOSDefaults <bool>

默认:false

仅在 Windows 平台上的 MongoDB Enterprise 中可用。

在连接 LDAP 服务器时,允许 mongod 使用您的 Windows 登录档案进行身份验证或绑定。

仅在以下情况下才需要:

使用--ldapBindWithOSDefaults替换--ldapQueryUser--ldapQueryPassword

--ldapBindMethod <string>

默认值:简单

仅在 MongoDB Enterprise 中可用。

方法mongod用于向 LDAP 服务器进行身份验证。与--ldapQueryUser--ldapQueryPassword一起使用,连接 LDAP 服务器。

--ldapBindMethod 支持以下值:

  • simple - mongod 使用简单身份验证。

  • sasl mongod 使用 SASL 协议进行身份验证

如果指定sasl ,则可以使用--ldapBindSaslMechanisms配置可用的 SASL 机制。 mongod默认使用DIGEST-MD5机制。

--ldapBindSaslMechanisms <string>

默认值:DIGEST-MD5

仅在 MongoDB Enterprise 中可用。

以逗号分隔的 SASL 机制列表,mongod 可使用此列表向 LDAP 服务器进行身份验证。mongod 和 LDAP 服务器必须就至少一种机制达成一致。mongod 可在运行时动态加载主机上安装的任何 SASL 机制库。

可在 mongod 主机以及远程 LDAP 服务器主机上安装和配置所选 SASL 机制的相应库。默认情况下,操作系统可能包含某些 SASL 库。请遵循与每个 SASL 机制相关的文档来获取有关安装和配置的指南。

如果将 GSSAPI SASL 机制与 Kerberos 身份验证一起使用,请验证 mongod 主机的以下内容:

Linux
  • KRB5_CLIENT_KTNAME环境变量解析为主机的客户端 Linux Keytab 文件 的名称。有关 Kerberos 环境变量的更多信息,请参阅 Kerberos 文档。

  • 客户端密钥表包含供 mongod 连接到 LDAP 服务器并执行 LDAP 查询时使用的用户主体

Windows
如果连接到 Active Directory 服务器,Windows Kerberos 配置会自动生成 Ticket-Granting-Ticket 当用户登录系统时。将--ldapBindWithOSDefaults 设置为true ,以允许mongod 在连接到 Active Directory 服务器并执行查询时使用生成的档案。

--ldapBindMethod设置为sasl以使用此选项。

注意

有关 SASL 机制的完整列表,请参阅 IANA 列表。请参阅 LDAP 或 Active Directory 服务的文档来识别与该服务兼容的 SASL 机制。

MongoDB 不是 SASL 机制库的来源,MongoDB 文档也不是安装或配置任何给定 SASL 机制的权威来源。如需获得文档和支持,请咨询 SASL 机制库供应商或所有者。

有关 SASL 的更多信息,请参阅以下资源:

--ldapTransportSecurity <string>

默认值:tls

仅在 MongoDB Enterprise 中可用。

默认情况下, mongod 会创建与 LDAP 服务器的 TLS/SSL 安全连接。

对于 Linux 部署,必须在 /etc/openldap/ldap.conf 文件中配置相应的 TLS 选项。操作系统的程序包管理器通过 libldap 依赖项创建此文件作为 MongoDB Enterprise 安装的一部分。有关更完整的说明,请参阅 ldap.conf OpenLDAP 文档中的 TLS Options

在 Windows 上部署时,必须将 LDAP 服务器 CA 证书添加到 Windows 证书管理工具中。该工具的确切名称和功能可能会因操作系统版本而异。有关证书管理的更多信息,请参阅您的 Windows 版本对应的文档。

--ldapTransportSecurity设置为none ,以禁用mongod和 LDAP 服务器之间的 TLS/SSL。

警告

--ldapTransportSecurity设置为none可在mongod和 LDAP 服务器之间传输纯文本信息,可能还传输凭证。

--ldapTimeoutMS <int>

默认值:10000

仅在 MongoDB Enterprise 中可用。

mongod 应等待 LDAP 服务器响应请求的时间,以毫秒为单位。

如果失败的根源是连接超时,增加--ldapTimeoutMS的值可以防止 MongoDB 服务器和 LDAP 服务器之间的连接失败。降低--ldapTimeoutMS的值会缩短 MongoDB 等待 LDAP 服务器响应的时间。

可以在运行中的 mongod 上配置此设置,但需使用 setParameter

--ldapRetryCount <int>

6.1 版本新增内容

默认值:0

仅在 MongoDB Enterprise 中可用。

在出现网络错误后服务器 LDAP 管理器重试的操作数。

--ldapUserToDNMapping <string>

仅在 MongoDB Enterprise 中可用。

将提供给mongod进行身份验证的用户名映射到 LDAP 标识名 (DN)。在以下情况下,您可能需要使用--ldapUserToDNMapping将用户名转换为 LDAP DN:

  • 通过 LDAP 简单绑定进行 LDAP 身份验证,其中用户使用非完整 LDAP DN 的用户名向 MongoDB 进行身份验证。

  • 使用需要 DN 的LDAP authorization query template

  • 使用不同的身份验证机制(如 x.509、kerberos)将向 Mongo DB 进行身份验证的客户端的用户名转换为完整的 LDAP DN,以进行授权。

--ldapUserToDNMapping需要一个用引号括起来的 JSON 字符串,表示有序的文档数组。每个文档都包含正则表达式match以及用于转换传入用户名的substitutionldapQuery模板。

数组中的每个文档均采用以下形式:

{
match: "<regex>"
substitution: "<LDAP DN>" | ldapQuery: "<LDAP Query>"
}
字段
说明
例子
match
ECMAScript 格式的正则表达式 (regex),用于与提供的用户名进行匹配。每个括号括起来的部分表示 substitutionldapQuery 使用的正则表达式捕获组。
"(.+)ENGINEERING" "(.+)DBA"
substitution

LDAP 标识名 (DN) 格式模板,用于将 正则表达式匹配的身份验证名称转换为match LDAP DN。每个大括号括起来的数值都会替换为相应的 正则表达式捕获组 通过match 正则表达式从身份验证用户名中提取。

替换的结果必须是 RFC4514 转义字符串。

"cn={0},ou=engineering, dc=example,dc=com"
ldapQuery
LDAP 查询格式模板,该模板将匹配 正则表达式的身份验证名称插入到按照match RFC4515 和 RFC 编码的 LDAP 查询 URI4516 中。每个大括号括起来的数值都会替换为相应的 正则表达式捕获组 通过match 表达式从身份验证用户名中提取。mongod 针对 LDAP 服务器执行查询,以检索经过身份验证的用户的 LDAP DN。mongod 要求只有一个返回结果才能转换成功,也可以通过mongod 跳过此转换。
"ou=engineering,dc=example, dc=com??one?(user={0})"

注意

RFC 的解释 4514 RFC4515 RFC4516 ,或者 LDAP 查询超出了 MongoDB 文档的范围。请直接查看 RFC 或使用您首选的 LDAP 资源。

对于数组中的每个文档,必须使用 substitutionldapQuery不能在同一文档中同时指定两者。

执行身份验证或授权时,mongod 按给定顺序遍历数组中的每个文档,对照 match 筛选器检查身份验证用户名。如果发现匹配,mongod 就会进行转换,并使用输出结果对用户进行身份验证。mongod 不会检查数组中的其余文档。

如果给定文档与提供的身份验证名称不匹配,mongod 会继续浏览文档列表以查找其他匹配项。如果在任何文档中均未找到匹配项,或者文档描述的转换失败,mongod 将返回错误信息。

mongod 如果由于 LDAP 服务器的网络或身份验证失败而无法评估其中一项转换,也会返回错误。 mongod会拒绝连接请求,并且不检查数组中的其余文档。

从 MongoDB 5开始。 0 、 --ldapUserToDNMapping接受空字符串""或空数组[ ]来代替映射文档。如果向--ldapUserToDNMapping提供空字符串或空数组,MongoDB 会将经过身份验证的用户名映射为 LDAP DN。在早期版本中,提供空映射文档会导致映射失败。

例子

下面展示了两个转换文档。第一个文档匹配以 @ENGINEERING 结尾的任何字符串,将后缀前面的所有内容放入正则表达式捕获组中。第二个文档匹配以 @DBA 结尾的任何字符串,将后缀前面的所有内容放入正则表达式捕获组中。

重要

必须将数组作为字符串传递给 --ldapUserToDNMapping。

"[
{
match: "(.+)@ENGINEERING.EXAMPLE.COM",
substitution: "cn={0},ou=engineering,dc=example,dc=com"
},
{
match: "(.+)@DBA.EXAMPLE.COM",
ldapQuery: "ou=dba,dc=example,dc=com??one?(user={0})"
}
]"

用户名为 alice@ENGINEERING.EXAMPLE.COM 的用户匹配第一个文档。正则表达式捕获群组 {0} 对应于字符串 alice。生成的输出是 DN "cn=alice,ou=engineering,dc=example,dc=com"

用户名为 bob@DBA.EXAMPLE.COM 的用户匹配第二个文档。正则表达式捕获群组 {0} 对应于字符串 bob。生成的输出是 LDAP 查询 "ou=dba,dc=example,dc=com??one?(user=bob)"mongod 针对 LDAP 服务器执行此查询,并返回结果 "cn=bob,ou=dba,dc=example,dc=com"

如果未设置--ldapUserToDNMapping ,则mongod在尝试根据 LDAP 服务器对用户进行身份验证或授权时,不会对用户名进行任何转换。

可以在运行中的 mongod 上配置此设置,但需使用 setParameter 数据库命令。

--ldapAuthzQueryTemplate <string>

仅在 MongoDB Enterprise 中可用。

格式符合 RFC4515 的相对 LDAP 查询 URL 和 RFC4516mongod 执行此命令以获取经过身份验证的用户所属的 LDAP 群组。该查询相对于--ldapServers 中指定的一个或多个主机。

在 URL 中,可以使用以下替换令牌:

替换令牌
说明
{USER}
替换经过身份验证的用户名,如果指定了 ,则替换为transformed username mapping用户名。
{PROVIDED_USER}
替换提供的用户名,即在身份验证或 LDAP transformation 之前。

构造查询 URL 时,请确保 LDAP 参数的顺序遵循 RFC4516:

[ dn [ ? [attributes] [ ? [scope] [ ? [filter] [ ? [Extensions] ] ] ] ] ]

如果您的查询包含属性,则 mongod 会假定该查询检索此实体所属的 DN。

如果查询不包含属性,则 mongod 假定该查询检索用户所属的所有实体。

对于查询返回的每个 LDAP DN,mongod 都会在 admin 数据库中为授权用户分配相应的角色。如果 admin 数据库上的角色与 DN 完全匹配,mongod 将向用户授予该角色以及分配给该角色的权限。有关创建角色的更多信息,请参阅 db.createRole() 方法。

例子

此 LDAP 查询返回 LDAP 用户对象的 memberOf 属性中列出的所有群组。

"{USER}?memberOf?base"

您的 LDAP 配置可能不包含 memberOf 属性作为用户架构的一部分,可能具有不同的属性来报告组成员身份,或者可能无法通过属性跟踪组成员身份。根据您自己独特的 LDAP 配置来配置您的查询。

如果未设置,mongod 将无法授权用户使用 LDAP。

可以在运行中的 mongod 上配置此设置,但需使用 setParameter 数据库命令。

注意

RFC4515 的解释 、 4516RFC 或 LDAP 查询超出了 MongoDB 文档的范围。请直接查看 RFC 或使用您首选的 LDAP 资源。

--storageEngine string

默认值wiredTiger

指定 mongod 数据库的存储引擎。可用值包括:

说明
wiredTiger
inMemory

指定内存中存储引擎

仅在 MongoDB Enterprise 中可用。

如果您尝试使用 --dbpath 启动mongod ,而该包含由--storageEngine指定的存储引擎以外的存储引擎生成的数据文件,则mongod不会启动。

--dbpath <path>

默认值:Linux 和 macOS 上为 /data/db,Windows 上为 \data\db

mongod 实例用于存储数据的目录。

如果使用 MongoDB 包管理器安装文件中包含的默认配置文件,则相应的 storage.dbPath 设置使用不同的默认设置。

--dbpath中的文件必须与--storageEngine中指定的存储引擎相对应。如果数据文件与--storageEngine不对应,则mongod不会启动。

--directoryperdb

使用单独的目录来存储每个数据库的数据。这些目录位于--dbpath目录下,每个子目录名称都与数据库名称相对应。

不适用于使用mongod 内存中存储引擎 的 实例。

从 MongoDB 5开始。 0 ,在启用--directoryperdb时删除数据库中的最终集合(或删除数据库本身)会删除该数据库的新空子目录。

要更改现有部署的--directoryperdb选项,请执行以下操作:

  • 对于独立运行的实例:

    1. 在现有mongod实例上使用mongodump以生成备份。

    2. 停止 mongod 实例。

    3. 添加--directoryperdb配置新的数据目录

    4. 重新启动 mongod 实例。

    5. 使用mongorestore填充新的数据目录。

  • 对于副本集:

    1. 停止从节点成员。

    2. 添加--directoryperdb为该从节点成员配置新的数据目录。

    3. 重启该从节点。

    4. 使用初始同步填充新数据目录。

    5. 以同样的方式更新剩下的从节点。

    6. 降级主节点,并以相同的方式更新降级的成员。

--syncdelay <value>

默认:60

控制 MongoDB 将数据刷新到数据文件之前所需的时间。

请勿对生产系统设置此值。几乎在所有情况下,均应使用默认设置。

mongod进程非常快速地将数据写入日志,并延迟写入数据文件。 --syncdelay日志记录没有影响,但如果将--syncdelay设置为0 ,则日志最终会占用所有可用磁盘空间。

不适用于使用mongod 内存中存储引擎 的 实例。

为了提供持久性数据,WiredTiger 使用了检查点。 有关详细信息,请参阅《日志和 WiredTiger 存储引擎》。

--upgrade

如果需要,将--dbpath指定的文件的磁盘数据格式升级到最新版本。

如果数据文件采用旧格式,此选项仅影响 mongod 的操作。

在大多数情况下,不应设置此值,以便最大限度控制升级过程。有关升级过程的更多信息,请参阅 MongoDB 发布说明。

--repair

mongod 实例的所有数据库运行修复例程。

从 MongoDB 5.0 开始:

  • 修复操作会验证集合以找到任何不一致之处并在可能的情况下进行修复,从免重建索引。

  • 如果集合的数据文件已被挽救,或者如果集合有验证步骤无法修复的不一致之处,则将重建所有索引。

提示

如果您在启用日志记录功能的情况下运行,则几乎无需运行修复,因为服务器可以使用日志文件将数据文件自动恢复到干净状态。但是,如果需要从磁盘级数据损坏中恢复,则可能需要运行修复。

警告

  • 仅当您没有其他选择时才使用mongod --repair 。该操作会在修复过程中删除且不保存任何损坏的数据。

  • 避免对副本集成员运行--repair

    • 如果要修复副本集成员,且拥有数据的完整副本(例如,近期备份或副本集的完整成员),则应改为从该完整副本中恢复(请参阅重新同步副本集的成员)。

    • 如果您确实选择对某个副本集成员运行mongod --repair ,并且该操作修改了数据或元数据,则您仍须执行完全重新同步,以便该成员重新加入副本集。

  • 在使用--repair之前,请备份dbpath目录。

  • 如果由于任何原因无法完成修复,则必须使用--repair选项重新启动实例。

--journalCommitInterval <value>

默认值:100

mongod 进程允许在两次日志操作之间的最大时间(以毫秒为单位)。范围可以是 1 到 500 毫秒。较低的值会增加日志的持久性,但会牺牲磁盘性能。

在 WiredTiger 上,默认日志提交间隔为 100 毫秒。包含或暗示 j:true 的写入会导致日志立即同步。有关影响同步频率的详细信息和其他条件,请参阅日志记录过程。

不适用于使用mongod 内存中存储引擎 的 实例。

--wiredTigerCacheSizeGB <float>

定义 WiredTiger 用于所有数据的内部缓存的最大大小。索引构建消耗的内存(请参阅 maxIndexBuildMemoryUsageMegabytes)与 WiredTiger 缓存内存是分开的。

取值范围可以从 0.25 GB 到 10000 GB 不等。

从 MongoDB 3.4 开始,默认 WiredTiger 内部缓存大小为以下两者中的较大者:

  • (RAM 大小 - 1 GB)的 50%,或

  • 256 MB。

例如,在总 RAM 为4 GB 的系统上,WiredTiger 缓存使用1 。 5 GB RAM ( 0.5 * (4 GB - 1 GB) = 1.5 GB )。相反,在总计为1的系统上。 25 GB RAM WiredTiger 会将256 MB 分配给 WiredTiger 缓存,因为这超过总 RAM 的一半减去 1 GB ( 0.5 * (1.25 GB - 1 GB) = 128 MB < 256 MB )。

注意

在某些情况下,比如在容器中运行时,数据库的内存约束可以低于系统总内存。在此类情况下,将此内存限制而非系统总内存用作最大可用 RAM。

如需查看内存限制,请参阅 hostInfo.system.memLimitMB

避免将 WiredTiger 内部缓存大小增加到超过其默认值。

借助 WiredTiger,MongoDB 可同时利用 WiredTiger 内部缓存和文件系统缓存。

通过文件系统缓存,MongoDB 会自动使用 WiredTiger 缓存或其他进程未使用的所有可用内存。

注意

--wiredTigerCacheSizeGB限制 WiredTiger 内部缓存的大小。操作系统使用可用的空闲内存进行文件系统缓存,这允许压缩的 MongoDB 数据文件保留在内存中。此外,操作系统还使用任何空闲 RAM 来缓冲文件系统区块和文件系统缓存。

为了容纳额外的 RAM 用户,您可能必须减少 WiredTiger 的内部缓存大小。

默认 WiredTiger 内部缓存大小值假定每台计算机有一个mongod实例。如果一台计算机包含多个 MongoDB 实例,则应减少该设置以容纳其他mongod实例。

如果在容器(例如lxccgroups 、Docker 等)中运行mongod ,而该容器无法访问系统中的所有可用 RAM,则必须将--wiredTigerCacheSizeGB设置为一个值小于容器中可用的 RAM 量。确切的数量取决于容器中运行的其他进程。请参阅memLimitMB

--wiredTigerJournalCompressor <compressor>

默认值:snappy

指定用于压缩 WiredTiger 日志数据的压缩类型。

可用的压缩类型有:

--wiredTigerDirectoryForIndexes

当您使用--wiredTigerDirectoryForIndexes启动mongod时, mongod会将索引和集合存储在数据(即--dbpath )目录下的单独子目录中。具体来说, mongod将索引存储在名为index的子目录中,并将集合数据存储在名为collection的子目录中。

您可以使用符号链接,为索引指定不同的位置。具体而言,当 mongod 实例运行时,将 index 子目录移至目标并在数据目录下创建一个名为 index 的符号链接,指向新目标。

--wiredTigerCollectionBlockCompressor <compressor>

默认值:snappy

指定集合数据的默认压缩类型。创建集合时,您可以针对每个集合覆盖此设置。

可用的压缩类型有:

--wiredTigerCollectionBlockCompressor会影响创建的所有集合。如果更改现有 MongoDB 部署上--wiredTigerCollectionBlockCompressor的值,则所有新集合都将使用指定的压缩程序。现有集合继续使用创建时指定的压缩程序,或当时的默认压缩程序。

--wiredTigerIndexPrefixCompression <boolean>

默认值:true

为索引数据启用或禁用前缀压缩

--wiredTigerIndexPrefixCompression指定true可为索引数据启用前缀压缩,或为false指定为索引数据禁用前缀压缩。

--wiredTigerIndexPrefixCompression设置会影响创建的所有索引。如果更改现有 MongoDB 部署上--wiredTigerIndexPrefixCompression的值,则所有新索引都会使用前缀压缩。现有索引不受影响。

--replSet <setname>

配置复制。指定副本集名称作为该副本集的参数。副本集中的所有主机必须具有相同的设置名称。

如果您的应用程序连接到多个副本集,则每个副本集的名称必须不同。有些驱动程序会按副本集名称对副本集连接进行分组。

--oplogSize <value>

oplog的最大大小(以 MB 为单位)。 oplogSize设置配置 oplog 的未压缩大小,而不是磁盘上的大小。

注意

oplog 的大小可能会超过其配置的大小限制,从而避免删除 majority commit point

默认情况下,mongod 进程会根据最大可用空间量创建一个 oplog。对于 64 位系统,该 oplog 通常占可用磁盘空间的 5%。

一旦mongod首次创建了 oplog,更改--oplogSize选项将不会影响 oplog 的大小。要在启动mongod后更改 oplog 的最短保留期,请使用replSetResizeOplogreplSetResizeOplog使您能够动态调整 oplog 的大小,而无需重新启动mongod进程。要在重启后保留使用replSetResizeOplog所做的更改,请更新--oplogSize的值。

更多信息,请参阅 Oplog 大小

--oplogMinRetentionHours <value>

指定保留 oplog 条目的最小小时数,其中小数值表示小时的小数部分。例如,值1.5表示一小时三十分钟。

该值不得小于 0。值 0 表示 mongod 应从最旧的条目开始截断 oplog,以维持配置的 oplog 最大大小。

默认值为 0

在以下情况下,使用 --oplogMinRetentionHours 启动的 mongod 会删除 oplog 条目:

  • oplog 已达到配置的 oplog 最大大小,并且

  • oplog 条目早于根据主机系统时钟配置的小时数。

在配置了最短 oplog 保留期后,mongod 有以下行为:

  • oplog 的大小可以不受限制地增长,以便在配置的小时数内保留 oplog 条目。由于写入量高且保留期长,这可能会导致系统磁盘空间减少或耗尽。

  • 如果 oplog 的大小超过其最大大小,则即使 oplog 变回其最大大小配置为较小的最大大小,mongod 仍可能会继续保留该磁盘空间。请参阅减小 oplog 大小不会立即收回磁盘空间

  • mongod 在执行 oplog 条目保留时,会将系统挂钟与 oplog 条目创建挂钟时间进行比较。集群组件之间的时钟漂移可能会导致意外的 oplog 保留行为。有关跨集群成员的时钟同步的更多信息,请参阅时钟同步

要在启动mongod后更改 oplog 的最短保留期,请使用replSetResizeOplogreplSetResizeOplog使您能够动态调整 oplog 的大小,而无需重新启动mongod进程。要在重启后保留使用replSetResizeOplog所做的更改,请更新--oplogMinRetentionHours的值。

--enableMajorityReadConcern

默认值:true

配置对 "majority" 读关注的支持。

从 MongoDB 5开始。 0和--enableMajorityReadConcern无法更改,且始终设置为true 。在 MongoDB 的早期版本中, --enableMajorityReadConcern是可配置的。

警告

如使用主节点-从节点-仲裁节点 (PSA) 三成员架构,请考虑以下因素:

  • 如果从节点不可用或滞后,写关注 "majority" 可能会导致性能问题。有关如何缓解这些问题的建议,请参阅缓解 PSA 副本集的性能问题

  • 如果使用的全局默认值 "majority",并且写关注小于大多数的大小,则您的查询可能会返回过时(未完全复制)的数据。

--configsvr

启动配置服务器时必需。

声明此mongod实例用作分片集群的配置服务器。使用此选项运行时,客户端(即其他集群组件)无法将数据写入除configadmin之外的任何数据库。除非指定,否则使用此选项的mongod默认端口为27019 ,默认--dbpath目录为/data/configdb

重要

使用--configsvr启动 MongoDB 服务器时,您还必须指定--replSet

不再支持将已弃用的镜像 mongod 实例用作配置服务器 (SCCC)。

副本集配置服务器 (CSRS) 必须运行 WiredTiger 存储引擎

--configsvr选项会创建一个本地oplog。

请勿将--configsvr选项与--shardsvr一起使用。配置服务器不能是分片服务器。

请勿将--configsvrskipShardingConfigurationChecks参数一起使用。换言之,如果您暂时将mongod作为独立实例启动以进行维护操作,请包含参数skipShardingConfigurationChecks并排除--configsvr 。维护完成后,删除skipShardingConfigurationChecks参数并使用--configsvr重新启动。

--shardsvr

启动分片服务器时必需。

将此mongod实例配置为分片集群中的分片。这些实例的默认端口是27018

重要

使用--shardsvr启动 MongoDB 服务器时,您还必须指定--replSet

请勿将--shardsvrskipShardingConfigurationChecks参数一起使用。换言之,如果您暂时将mongod作为独立实例启动以进行维护操作,请包含参数skipShardingConfigurationChecks并排除--shardsvr 。维护完成后,删除skipShardingConfigurationChecks参数并使用--shardsvr重新启动。

--moveParanoia

如果指定,则在数据段迁移期间,分片会将从该分片中迁移的所有文档保存至 --dbpathmoveChunk 目录。

MongoDB 不会自动删除 moveChunk 目录中保存的数据。

--noMoveParanoia

在数据段迁移过程中,分片不会保存从该分片中迁移的文档。

此为默认行为。

提示

请参阅:

为 TLS/SSL 配置 mongodmongos以获取 MongoDB 支持的完整文档。

--tlsMode <mode>

启用用于所有网络连接的 TLS。 --tlsMode选项的参数可以是以下之一:

说明
disabled
该服务器不使用 TLS。
allowTLS
服务器之间的连接不使用 TLS。对于传入连接,服务器既接受 TLS,也接受非 TLS。
preferTLS
服务器之间的连接使用 TLS。对于传入连接,服务器既接受 TLS,也接受 TLS。
requireTLS
服务器仅使用并接受 TLS 加密连接。

如果未指定 --tlsCAFiletls.CAFile 且您未使用 x.509 身份验证,则必须将 tlsUseSystemCA 参数设置为 true。这使得 MongoDB 在连接到启用 TLS 的服务器时使用系统范围的 CA 证书存储。

如果使用 x. 509身份验证,必须指定--tlsCAFiletls.CAFile ,除非使用--tlsCertificateSelector

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsCertificateKeyFile <filename>

指定同时包含 TLS/SSL 证书和密钥的 .pem 文件。

在 macOS 或 Windows 上,可以使用--tlsCertificateSelector选项指定来自操作系统的安全证书存储区的证书,而不是 PEM 密钥文件。 --tlsCertificateKeyFile--tlsCertificateSelector选项是互斥的。您只能指定一个。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsCertificateKeyFilePassword <value>

指定用于解密证书密钥文件的密码(即--tlsCertificateKeyFile )。仅当证书密钥文件已加密时才使用--tlsCertificateKeyFilePassword选项。在所有情况下, mongod都会对所有日志记录和报告输出中的密码进行脱敏。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--clusterAuthMode <option>

默认:keyFile

集群身份验证时使用的身份验证方式。如果使用内部 x.509 身份验证,请在此处指定。此选项可为以下值之一:

说明
keyFile
使用密钥文件进行身份验证。仅接受密钥文件。
sendKeyFile
用于滚动升级目的。发送密钥文件进行 身份验证,但可以接受密钥文件和 x.509 证书。
sendX509
用于滚动升级目的。发送 x.509 证书进行身份验证,但可以同时接受密钥文件和 x.509 证书。
x509
推荐。发送 x.509 证书进行身份验证,仅接受 x.509 证书。

如果未指定 --tlsCAFiletls.CAFile 且您未使用 x.509 身份验证,则必须将 tlsUseSystemCA 参数设置为 true。这使得 MongoDB 在连接到启用 TLS 的服务器时使用系统范围的 CA 证书存储。

如果使用 x. 509身份验证,必须指定--tlsCAFiletls.CAFile ,除非使用--tlsCertificateSelector

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsClusterFile <filename>

指定包含 x.509 证书密钥文件的 .pem 文件,用于群集或副本集的成员身份验证

在 macOS 或 Windows 上,可以使用--tlsClusterCertificateSelector选项指定来自操作系统的安全证书存储区的证书,而不是 PEM 密钥文件。 --tlsClusterFile--tlsClusterCertificateSelector选项是互斥的。您只能指定一个。

如果--tlsClusterFile未指定用于内部集群身份验证的.pem文件或备用--tlsClusterCertificateSelector ,则集群使用--tlsCertificateKeyFile选项中指定的.pem文件或--tlsCertificateSelector返回的证书。

如果使用 x. 509身份验证,必须指定--tlsCAFiletls.CAFile ,除非使用--tlsCertificateSelector

如果提供的 x,则mongod / mongos会记录连接警告。 509证书会在mongod/mongos主机系统时间后的30天内过期。请参阅x。 509证书即将过期触发警告以了解更多信息。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

重要

MongoDB 不支持加密的 PEM 文件(仅限Windows)。如果遇到加密的 PEM 文件,则mongod无法启动。要安全地存储和访问用于 Windows 成员身份验证的证书,请使用--tlsClusterCertificateSelector

--tlsCertificateSelector <parameter>=<value>

注意

在 Windows 和 macOS 上可用,作为--tlsCertificateKeyFile的替代方案。

指定证书属性,以便从操作系统的证书存储区中选择匹配的证书来用于 TLS。

--tlsCertificateKeyFile--tlsCertificateSelector选项是互斥的。您只能指定一个。

--tlsCertificateSelector接受格式为<property>=<value>的参数,其中属性可以是以下之一:

属性
值类型
说明
subject
ASCII 字符串
证书上的主题名称或公用名
thumbprint
十六进制字符串

以十六进制表示的字节序列,用于通过 SHA-1 摘要识别公钥。

thumbprint 有时称为 fingerprint

在使用系统 SSL 证书存储区时,会用 OCSP(在线证书状态协议)来验证证书的吊销状态。

mongod搜索操作系统的安全证书存储区,查找验证指定 TLS 证书的完整证书链所需的 CA 证书。具体来说,安全证书存储区必须包含根 CA 以及构建 TLS 证书的完整证书链所需的任何中间 CA 证书。请勿使用--tlsCAFile--tlsClusterCAFile指定根 CA 证书和中间 CA 证书

例如,如果 TLS/SSL 证书是使用单个根 CA 证书签署的,则安全证书存储必须包含该根 CA 证书。如果 TLS/SSL 证书是使用中间 CA 证书签署的,则安全证书存储必须包含中间 CA 证书根 CA 证书。

注意

将 或--tlsCertificateSelector 设置为net.tls.certificateSelector 时,无法使用rotateCertificates 命令或db.rotateCertificates() shell 方法thumbprint

--tlsClusterCertificateSelector <parameter>=<value>

注意

在 Windows 和 macOS 上可用,作为--tlsClusterFile的替代方案。

指定证书属性,以便从操作系统的证书存储中为内部 x 选择匹配的证书。 509成员身份验证。

--tlsClusterFile--tlsClusterCertificateSelector选项是互斥的。您只能指定一个。

--tlsClusterCertificateSelector接受格式为<property>=<value>的参数,其中属性可以是以下之一:

属性
值类型
说明
subject
ASCII 字符串
证书上的主题名称或公用名
thumbprint
十六进制字符串

以十六进制表示的字节序列,用于通过 SHA-1 摘要识别公钥。

thumbprint 有时称为 fingerprint

mongod搜索操作系统的安全证书存储区,查找验证指定集群证书的完整证书链所需的 CA 证书。具体来说,安全证书存储区必须包含根 CA 以及构建集群证书的完整证书链所需的任何中间 CA 证书。请勿使用--tlsCAFile--tlsClusterCAFile来指定根 CA 证书和中间 CA 证书。

例如,如果集群证书是使用单个根 CA 证书签署的,则安全证书存储区必须包含该根 CA 证书。如果集群证书是使用中间 CA 证书签署的,则安全证书存储区必须包含中间 CA 证书根 CA 证书。

如果提供的 x,则mongod / mongos会记录连接警告。 509证书会在mongod/mongos主机系统时间后的30天内过期。请参阅x。 509证书即将过期触发警告以了解更多信息。

--tlsClusterPassword <value>

指定用于解密 x 的密码。 { --tlsClusterFile指定的509证书密钥文件。仅当证书密钥文件已加密时才使用--tlsClusterPassword选项。在所有情况下, mongod都会对所有日志记录和报告输出中的密码进行脱敏。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsCAFile <filename>

指定包含来自证书颁发机构的根证书链的 .pem 文件。使用相对或绝对路径指定 .pem 文件的文件名。

重要

启动mongod 启用了 TLS/SSL 的 实例时,您必须指定--tlsCAFile 标志、net.tls.CAFile 配置选项或tlsUseSystemCA 参数的值。

--tlsCAFiletls.CAFiletlsUseSystemCA 是互斥的。

仅限 Windows/macOS
如果使用--tlsCertificateSelector和/或--tlsClusterCertificateSelector请勿使用--tlsCAFile指定根 CA 证书和中间 CA 证书。将验证--tlsCertificateSelector和/或--tlsClusterCertificateSelector证书的完整信任链所需的所有 CA 证书存储在安全证书存储区中。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsClusterCAFile <filename>

指定包含来自证书颁发机构的根证书链的.pem文件,用于验证建立连接的客户端提供的证书。使用相对或绝对路径指定.pem文件的文件名。 --tlsClusterCAFile要求设置--tlsCAFile

如果--tlsClusterCAFile未指定用于验证来自建立连接的客户端的证书的.pem文件,集群将使用--tlsCAFile选项中指定的.pem文件。

--tlsClusterCAFile 允许您使用单独的证书颁发机构来验证 TLS 握手的客户端到服务器和服务器到客户端部分。

仅限 Windows/macOS
如果使用--tlsCertificateSelector和/或--tlsClusterCertificateSelector请勿使用--tlsClusterCAFile指定根 CA 证书和中间 CA 证书。将验证--tlsCertificateSelector和/或--tlsClusterCertificateSelector证书的完整信任链所需的所有 CA 证书存储在安全证书存储区中。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsCRLFile <filename>

指定包含证书吊销列表的 .pem 文件。使用相对或绝对路径指定 .pem 文件的文件名。

注意

  • 您无法在 macOS 上指定 CRL 文件。相反,您可以使用系统 SSL 证书存储区,该存储区使用 OCSP(在线证书状态协议)来验证证书的吊销状态。请参阅--tlsCertificateSelector以使用系统 SSL 证书存储区。

  • 为了检查证书吊销状况,MongoDB enables默认使用 OCSP(在线证书状态协议)作为指定 CRL 文件或使用系统 SSL 证书存储区的替代方法。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsAllowInvalidCertificates

绕过对集群中其他服务器上的 TLS 证书进行验证检查,并允许使用无效证书进行连接。

注意

如果您在使用 x.509 身份验证时指定 --tlsAllowInvalidCertificatestls.allowInvalidCertificates: true,则无效证书仅足以建立 TLS 连接,但不足以进行身份验证。

使用--tlsAllowInvalidCertificates设置时,MongoDB 会记录有关使用无效证书的警告。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsAllowInvalidHostnames

连接副本集或分片集群的其他成员以进行进程间身份验证时,禁用 TLS 证书中的主机名验证。这样即便其他成员的证书中的主机名与配置的主机名不匹配,mongod 也能与这些成员连接。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsAllowConnectionsWithoutCertificates

默认情况下,服务器会绕过客户端证书验证,除非将服务器配置为使用 CA 文件。如果提供了 CA 文件,则会应用以下规则:

  • 对于不提供证书的客户端, mongodmongos会对 TLS/SSL 连接进行加密(假设已成功建立连接)。

  • 对于提供证书的客户端, mongod使用--tlsCAFile指定的根证书链执行证书验证,并拒绝证书无效的客户端。

如果您的混合部署包含不或无法向mongod提供证书的客户端,请使用--tlsAllowConnectionsWithoutCertificates选项。

有关 TLS 和 MongoDB 的详细信息,请参阅为 TLS/SSL 配置 mongodmongos 以及客户端的 TLS/SSL 配置

--tlsDisabledProtocols <protocol(s)>

防止使用 TLS 运行的 MongoDB Server 接受使用特定协议的传入连接。要指定多个协议,请使用逗号分隔的协议列表。

--tlsDisabledProtocols可识别以下协议: TLS1_0TLS1_1TLS1_2TLS1_3

  • 在 macOS 上,您无法在禁用 TLS1_1 的情况下,让 TLS1_0TLS1_2 同时启用。您必须至少禁用后两者中的一个,比如 TLS1_0,TLS1_1

  • 若要列出多个协议,请指定为逗号分隔的协议列表,例如 TLS1_0,TLS1_1

  • 指定无法识别的协议会阻止服务器启动。

  • 指定的禁用协议将覆盖任何默认禁用的协议。

MongoDB 禁用 TLS 1 。如果 TLS 1 0 1 + 在系统中可用。启用已禁用的 TLS 1 。 0 ,将none指定为--tlsDisabledProtocols

副本集和分片集群的成员必须至少使用一个共同协议。

提示

另请参阅:

--tlsFIPSMode

指示mongod使用 TLS 库的 FIPS 模式。系统必须有符合 FIPS 标准的库,才能使用--tlsFIPSMode选项。

注意

只有 MongoDB Enterprise 支持与 FIPS 兼容的 TLS/SSL。有关更多信息,请参阅为 FIPS 配置 MongoDB

--profile <level>

默认值:0

配置数据库分析器级别。以下分析器级别可用:

等级
说明
0
分析器已关闭,因此不收集任何数据。这是默认的分析器级别。
1

分析器会收集用时超过 slowms 值或与某一筛选器匹配的操作的对应数据。

设置筛选器后:

  • slowmssampleRate 选项不用于分析。

  • 分析器仅捕获与筛选器匹配的操作。

2
该分析器会收集所有操作的数据。

警告

分析会降低性能,并在系统日志中暴露未经加密的查询数据。在生产部署中配置和启用分析器之前,请仔细考虑对性能和安全的影响。

有关潜在性能下降的更多信息,请参阅分析器开销

--slowms <integer>

默认值:100

慢速操作时长阈值(以毫秒为单位)。运行时长超过此阈值的操作被视为慢速操作。

logLevel 设置为 0 时,MongoDB 会将慢速操作记录到诊断日志中,记录速度由 slowOpSampleRate 确定。

在较高的logLevel设置下,所有操作无论延迟如何,都会显示在诊断日志中,但以下情况除外:从节点记录慢速 oplog 条目消息。从节点仅记录慢速 oplog 条目;增加logLevel不会记录所有 oplog 条目。

对于mongod实例, --slowms会影响诊断日志,如果已启用,还会影响分析器。

提示

另请参阅:

--slowOpSampleRate <double>

默认值:1.0

应分析或记录的慢速操作的比例。 --slowOpSampleRate接受介于0和1 (含)之间的值。

--slowOpSampleRate不影响副本集的从节点成员记录慢速 oplog 条目。从节点成员会记录所有用时超过慢速操作阈值的 oplog 条目,而无论--slowOpSampleRate为何。

对于mongod实例, --slowOpSampleRate会影响诊断日志,如果已启用,还会影响分析器。

--auditCompressionMode

5.3 版本中的新增功能

指定审核日志加密的压缩模式。您还必须使用--auditEncryptionKeyUID--auditLocalKeyFile启用审核日志加密。

--auditCompressionMode 可以设置为以下值之一:

说明
zstd
使用 zstd 算法压缩审核日志。
none (默认)
请勿压缩审核日志。

注意

仅在 MongoDB Enterprise 中可用。MongoDB Enterprise 和 Atlas 有不同的配置要求。

--auditDestination

启用审核并指定 mongod 发送所有审核事件的位置。

--auditDestination 可能的值:

说明
syslog

将审核事件以 JSON 格式输出到系统日志中。在 Windows 上不可用。审核消息的系统日志严重性级别为 info,设施级别为 info

系统日志消息限制可能会导致审核消息被截断。审核系统既不会检测此类截断,也不会在其出现时报错。

console
将审核事件以 JSON 格式输出到 stdout
file
--auditFormat 中指定的格式将审核事件输出到--auditPath中指定的文件

注意

仅在 MongoDB EnterpriseMongoDB Atlas 中有用。

--auditEncryptionKeyUID

6.0 版本中的新功能

指定用于审核日志加密的 Key Management Interoperability Protocol (KMIP) 密钥的唯一标识符。

不能同时使用--auditEncryptionKeyUID--auditLocalKeyFile

注意

仅在 MongoDB Enterprise 中可用。MongoDB Enterprise 和 Atlas 有不同的配置要求。

--auditFormat

如果 --auditDestination为 ,则指定用于 审核file 的输出文件的格式。--auditFormat 选项可为以下值之一:

说明
JSON
将审核事件以 JSON 格式输出到--auditPath中指定的文件。
BSON
将 BSON 二进制格式的审核事件输出到--auditPath中指定的文件。

与以 BSON 格式打印相比,将 Atlas 审核事件以 JSON 格式打印到文件更可能导致服务器性能下降。

注意

仅在 MongoDB EnterpriseMongoDB Atlas 中有用。

--auditLocalKeyFile

5.3 版本中的新增功能

指定本地审核密钥文件的路径和文件名,用于审核日志加密。

注意

仅使用--auditLocalKeyFile进行测试,因为该密钥不安全。要保护密钥的安全,请使用--auditEncryptionKeyUID和外部 Key Management Interoperability Protocol (KMIP) 服务器。

不能同时使用--auditLocalKeyFile--auditEncryptionKeyUID

注意

仅在 MongoDB Enterprise 中可用。MongoDB Enterprise 和 Atlas 有不同的配置要求。

--auditPath

--auditDestination的值为file时,指定用于审核的输出文件。 --auditPath选项可以使用完整路径名或相对路径名。

注意

仅在 MongoDB EnterpriseMongoDB Atlas 中有用。

--auditFilter

指定用于限制审核系统记录的操作类型的筛选器。该选项采用以下形式的查询文档的字符串表示形式:

{ <field1>: <expression1>, ... }

<field> 可以是审核消息中的任意字段,包括参数文档中返回的字段。<expression>查询条件表达式。

要指定 Atlas 审核过滤器,请将过滤器文档括在单引号 中,以将文档作为字符串传递。

要在配置文件中指定审核筛选器,必须使用配置文件的 YAML 格式。

注意

仅在 MongoDB EnterpriseMongoDB Atlas 中有用。

--inMemorySizeGB <float>

默认值:物理 RAM 大小减去 1 GB 后的 50%。

内存存储引擎数据分配的最大内存量,包括索引、oplog(如果 mongod 是副本集的一部分)、分片集群元数据等。

值的范围可以从 256 MB 到 10 TB,并且可以是浮点数。

默认情况下,内存存储引擎使用物理 RAM 大小减去 1 GB 后的 50%。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--enableEncryption

默认:false

对 WiredTiger 存储引擎启用加密。该选项必须启用,才能传递加密密钥和配置。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--encryptionCipherMode <string>

默认值:AES256-CBC

用于静态加密的密码模式:

模式
说明
AES256-CBC
采用密码分组链接模式的 256 位高级加密标准
AES256-GCM

采用 Galois/Counter 模式的 256 位高级加密标准

仅在 Linux 上可用。

4.0 版本中的更改:Windows 上的 MongoDB Enterprise 不再支持将 AES256-GCM 作为静态加密的分组密码。仅 Linux 支持此用法。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--encryptionKeyFile <string>

通过 KMIP 以外的进程管理密钥时,本地密钥文件的路径。仅在通过 KMIP 以外的进程管理密钥时设置。如果已使用 KMIP 加密数据,则 MongoDB 会抛出错误。

该密钥文件只能包含一个密钥。密钥是一个 16 位或 32 位的字符串。

需要--enableEncryption

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipKeyIdentifier <string>

KMIP 服务器中现有密钥的唯一 KMIP 标识符。包括使用与标识符关联的密钥作为系统密钥。只能在第一次为mongod实例启用加密时使用该设置。需要--enableEncryption

如果未指定,MongoDB 会请求 KMIP 服务器创建新密钥用作系统密钥。

如果 KMIP 服务器找不到指定标识符的密钥或者数据已使用密钥加密,则 MongoDB 将报告错误

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipRotateMasterKey <boolean>

默认:false

如果为 true,则轮换主密钥并对内部密钥库重新加密。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

提示

另请参阅:

--kmipServerName <string>

要连接的 KMIP 服务器的主机名或 IP 地址。需要--enableEncryption

您可以将多个 KMIP 服务器指定为逗号分隔的列表,例如: server1.example.com,server2.example.com 。启动时, mongod会尝试按列出的顺序与每台服务器建立连接,并选择可以成功建立连接的第一台服务器。 KMIP 服务器选择仅在启动时进行。

连接到 KMIP 服务器时, mongod会验证指定的--kmipServerName是否与 KMIP 服务器提供的证书中的主题备用名称SAN (或者,如果SAN不存在,则与公用名CN )相匹配。 KMIP 服务器。如果SAN存在,则mongodCN不匹配。如果主机名与SAN (或CN )不匹配,则mongod将无法连接。

从 MongoDB 4.2 开始,在比较 SAN 时,MongoDB 可以比较 DNS 名称或 IP 地址。在之前的版本中,MongoDB 仅能比较 DNS 名称。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipPort <number>

默认:5696

用于与 KMIP 服务器通信的端口号。需要--kmipServerName 。需要--enableEncryption

如果使用--kmipServerName指定多个 KMIP 服务器,则mongod将使用--kmipPort为所有提供的 KMIP 服务器指定的端口。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipConnectRetries <number>

默认值:0

与 KMIP 服务器初始连接的重试次数。与--kmipConnectTimeoutMS一起使用可控制mongod在每次重试之间等待响应的时长。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipConnectTimeoutMS <number>

默认值:5000

等待 KMIP 服务器响应的超时时间(以毫秒为单位)。如果指定了--kmipConnectRetries设置, mongod将在两次重试之间等待指定的间隔。

取值不得小于 1000

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipClientCertificateSelector <string>

版本5中的新增功能。 0 :可在 Windows 和 macOS 上作为--kmipClientCertificateFile的替代方案。

--kmipClientCertificateFile--kmipClientCertificateSelector选项是互斥的。您只能指定一个。

指定证书属性,以便从操作系统的证书存储区中选择匹配的证书来在 KMIP 服务器上对 MongoDB 进行身份验证。

--kmipClientCertificateSelector接受格式为<property>=<value>的参数,其中属性可以是以下之一:

属性
值类型
说明
subject
ASCII 字符串
证书上的主题名称或公用名
thumbprint
十六进制字符串

以十六进制表示的字节序列,用于通过 SHA-1 摘要识别公钥。

thumbprint 有时称为 fingerprint

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipClientCertificateFile <string>

用于在 KMIP 服务器上对 MongoDB 进行身份验证的 .pem 文件的路径。指定的 .pem 文件必须包含 TLS/SSL 证书和密钥。

要使用此选项,还必须指定--kmipServerName选项。

注意

在 macOS 或 Windows 上,您可以使用操作系统安全存储区中的证书来代替 PEM 密钥文件。请参阅--kmipClientCertificateSelector

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipClientCertificatePassword <string>

传递给--kmipClientCertificateFile的客户端证书的密码(如果存在)。用于在 KMIP 服务器上对 MongoDB 进行身份验证。要求提供--kmipClientCertificateFile

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

--kmipServerCAFile <string>

CA 文件的路径。用于验证客户端与 KMIP 服务器的连接是否安全。

注意

在 macOS 或 Windows 上,您可以使用操作系统安全存储区中的证书来代替 PEM 密钥文件。请参阅--kmipClientCertificateSelector 。使用安全存储时,您不需要但也可以指定--kmipServerCAFile

--kmipActivateKeys <boolean>

默认值:true

5.3 版本中的新增功能

在 KMIP 密钥创建后激活所有这些新创建的密钥,然后定期检查这些密钥是否处于活动状态。

--kmipActivateKeystrue且您在 KMIP 服务器上已有密钥时,必须首先激活密钥,否则mongod节点将无法启动。

如果 mongod 使用的密钥转换为非活动状态,则mongod节点将关闭,除非kmipActivateKeys为 false。为确保您拥有有效的密钥,请使用--kmipRotateMasterKey轮换 KMIP 主密钥。

--kmipKeyStatePollingSeconds <integer>

默认:900 秒

5.3 版本中的新增功能

mongod 轮询 KMIP 服务器以获取有效密钥的频率(以秒为单位)。

要禁用轮询,请将值设置为 -1

--kmipUseLegacyProtocol <boolean>

默认:false

7.0 版本新增:(以及 6.0.6)

设置为 true 时,mongod 使用 KMIP 协议的 1.0 或 1.1 版,而不是默认版本。KMIP 协议的默认版本是 1.2。

要在 KMIP 1.0 或 1.1 版中使用审核日志加密,必须在启动时指定 auditEncryptKeyWithKMIPGet

--eseDatabaseKeyRollover

滚动使用 AES256-GCM 密码配置的加密存储引擎数据库密钥。

使用此选项启动 mongod 实例时,该实例会轮换密钥并退出。

注意

Enterprise 版功能

仅在 MongoDB Enterprise 中可用。

← MongoDB 包组件
mongos →