summaryrefslogtreecommitdiff
path: root/debian/mongod.1
diff options
context:
space:
mode:
Diffstat (limited to 'debian/mongod.1')
-rw-r--r--debian/mongod.11095
1 files changed, 753 insertions, 342 deletions
diff --git a/debian/mongod.1 b/debian/mongod.1
index 700a0774222..7d70e315630 100644
--- a/debian/mongod.1
+++ b/debian/mongod.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "MONGOD" "1" "Aug 16, 2019" "4.2" "mongodb-manual"
+.TH "MONGOD" "1" "Jun 23, 2020" "4.4" "mongodb-manual"
.SH NAME
mongod \- MongoDB Server
.
@@ -109,6 +109,16 @@ in 3.4.18+, 3.6.9+, 4.0.3+)
.UNINDENT
.UNINDENT
.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.IP "Starting in version 4.4"
+.INDENT 0.0
+.IP \(bu 2
+MongoDB removes the \fB\-\-noIndexBuildRetry\fP command\-line option
+and the corresponding \fBstorage.indexBuildRetry\fP option.
+.UNINDENT
+.UNINDENT
+.UNINDENT
.SS Core Options
.INDENT 0.0
.TP
@@ -502,15 +512,6 @@ system\(aqs configured maximum connection tracking threshold.
.sp
Do not assign too low of a value to this option, or you will
encounter errors during normal application operation.
-.sp
-\fBNOTE:\fP
-.INDENT 7.0
-.INDENT 3.5
-Changed in version 2.6: MongoDB removed the upward limit on the \fBmaxIncomingConnections\fP
-setting.
-
-.UNINDENT
-.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
@@ -575,9 +576,6 @@ existing log and create a new file.
.B \-\-logRotate <string>
\fIDefault\fP: rename
.sp
-New in version 3.0.0.
-
-.sp
Determines the behavior for the \fBlogRotate\fP command.
Specify either \fBrename\fP or \fBreopen\fP:
.INDENT 7.0
@@ -609,13 +607,6 @@ Description
T}
_
T{
-\fBctime\fP
-T} T{
-Displays timestamps as \fBWed Dec 31
-18:17:54.811\fP\&.
-T}
-_
-T{
\fBiso8601\-utc\fP
T} T{
Displays timestamps in Coordinated Universal Time (UTC) in the
@@ -628,10 +619,19 @@ T{
T} T{
Displays timestamps in local time in the ISO\-8601
format. For example, for New York at the start of the Epoch:
-\fB1969\-12\-31T19:00:00.000\-0500\fP
+\fB1969\-12\-31T19:00:00.000\-05:00\fP
T}
_
.TE
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Starting in MongoDB 4.4, \fI\%\-\-timeStampFormat\fP no longer supports \fBctime\fP\&.
+An example of \fBctime\fP formatted date is: \fBWed Dec 31
+18:17:54.811\fP\&.
+.UNINDENT
+.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
@@ -641,11 +641,33 @@ For internal diagnostic use only.
.INDENT 0.0
.TP
.B \-\-pidfilepath <path>
-Specifies a file location to hold the process ID of the \fBmongod\fP
-process where \fBmongod\fP will write its PID. This is useful for
-tracking the \fBmongod\fP process in combination with
-the \fI\%\-\-fork\fP option. Without a specified \fI\%\-\-pidfilepath\fP option, the
-process creates no PID file.
+Specifies a file location to store the process ID (PID) of the \fBmongod\fP
+process. The user running the \fBmongod\fP or \fBmongos\fP
+process must be able to write to this path. If the \fI\%\-\-pidfilepath\fP option is not
+specified, the process does not create a PID file. This option is generally
+only useful in combination with the \fI\%\-\-fork\fP option.
+.INDENT 7.0
+.INDENT 3.5
+.IP "Linux"
+.sp
+On Linux, PID file management is generally the responsibility of
+your distro\(aqs init system: usually a service file in the \fB/etc/init.d\fP
+directory, or a systemd unit file registered with \fBsystemctl\fP\&. Only
+use the \fI\%\-\-pidfilepath\fP option if you are not using one of these init
+systems. For more information, please see the respective
+Installation Guide for your operating system.
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.INDENT 3.5
+.IP "macOS"
+.sp
+On macOS, PID file management is generally handled by \fBbrew\fP\&. Only use
+the \fI\%\-\-pidfilepath\fP option if you are not using \fBbrew\fP on your macOS system.
+For more information, please see the respective
+Installation Guide for your operating system.
+.UNINDENT
+.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
@@ -695,10 +717,9 @@ always listens on the UNIX socket unless one of the following is true:
\fBnet.bindIp\fP does not specify \fBlocalhost\fP or its associated IP address
.UNINDENT
.sp
-New in version 2.6: \fBmongod\fP installed from official \&.deb and \&.rpm packages
+\fBmongod\fP installed from official \&.deb and \&.rpm packages
have the \fBbind_ip\fP configuration set to \fB127.0.0.1\fP by
default.
-
.UNINDENT
.INDENT 0.0
.TP
@@ -739,6 +760,8 @@ background. By default \fBmongod\fP does not run as a daemon:
typically you will run \fBmongod\fP as a daemon, either by using
\fI\%\-\-fork\fP or by using a controlling process that handles the
daemonization process (e.g. as with \fBupstart\fP and \fBsystemd\fP).
+.sp
+The \fI\%\-\-fork\fP option is not supported on Windows.
.UNINDENT
.INDENT 0.0
.TP
@@ -859,20 +882,8 @@ due to the lack of data related to a log event. See the
process logging manual page for an
example of the effect of \fI\%\-\-redactClientLogData\fP on log output.
.sp
-You can enable or disable log redaction on a running \fBmongod\fP
-using the \fBsetParameter\fP database command.
-.INDENT 7.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-db.adminCommand(
- { setParameter: 1, redactClientLogData : true | false }
-)
-.ft P
-.fi
-.UNINDENT
-.UNINDENT
+On a running \fBmongod\fP, use \fBsetParameter\fP with the
+\fBredactClientLogData\fP parameter to configure this setting.
.UNINDENT
.INDENT 0.0
.TP
@@ -972,6 +983,47 @@ mongod \-\-timeZoneInfo timezonedb\-2017b/
.UNINDENT
.INDENT 0.0
.TP
+.B \-\-serviceExecutor <string>
+\fIDefault\fP: synchronous
+.sp
+New in version 3.6.
+
+.sp
+Determines the threading and execution model \fBmongod\fP uses to
+execute client requests. The \fB\-\-serviceExecutor\fP option accepts one
+of the following values:
+.TS
+center;
+|l|l|.
+_
+T{
+Value
+T} T{
+Description
+T}
+_
+T{
+\fBsynchronous\fP
+T} T{
+The \fBmongod\fP uses synchronous networking and manages its
+networking thread pool on a per connection basis. Previous
+versions of MongoDB managed threads in this way.
+T}
+_
+T{
+\fBadaptive\fP
+T} T{
+The \fBmongod\fP uses the new experimental asynchronous
+networking mode with an adaptive thread pool which manages
+threads on a per request basis. This mode should have more
+consistent performance and use less resources when there are
+more inactive connections than database requests.
+T}
+_
+.TE
+.UNINDENT
+.INDENT 0.0
+.TP
.B \-\-outputConfig
New in version 4.2.
@@ -1073,14 +1125,14 @@ For the corresponding configuration file setting, see
New in version 3.4: Available in MongoDB Enterprise only.
.sp
-The LDAP server against which the \fBmongod\fP executes LDAP operations
-against to authenticate users or determine what actions a user is authorized
-to perform on a given database. If the LDAP server specified has any
-replicated instances, you may specify the host and port of each replicated
-server in a comma\-delimited list.
+The LDAP server against which the \fBmongod\fP authenticates users or
+determines what actions a user is authorized to perform on a given
+database. If the LDAP server specified has any replicated instances,
+you may specify the host and port of each replicated server in a
+comma\-delimited list.
.sp
-If your LDAP infrastrucure partitions the LDAP directory over multiple LDAP
-servers, specify \fIone\fP LDAP server any of its replicated instances to
+If your LDAP infrastructure partitions the LDAP directory over multiple LDAP
+servers, specify \fIone\fP LDAP server or any of its replicated instances to
\fI\%\-\-ldapServers\fP\&. MongoDB supports following LDAP referrals as defined in \fI\%RFC 4511
4.1.10\fP\&. Do not use \fI\%\-\-ldapServers\fP
for listing every LDAP server in your infrastructure.
@@ -1092,6 +1144,24 @@ If unset, \fBmongod\fP cannot use LDAP authentication or authorization\&.
.UNINDENT
.INDENT 0.0
.TP
+.B \-\-ldapValidateLDAPServerConfig <boolean>
+\fIAvailable in MongoDB Enterprise\fP
+.sp
+A flag that determines if the \fI\%mongod\fP instance checks
+the availability of the \fI\%LDAP server(s)\fP as part of its startup:
+.INDENT 7.0
+.IP \(bu 2
+If \fBtrue\fP, the \fI\%mongod\fP instance performs the
+availability check and only continues to start up if the LDAP
+server is available.
+.IP \(bu 2
+If \fBfalse\fP, the \fI\%mongod\fP instance skips the
+availability check; i.e. the instance starts up even if the LDAP
+server is unavailable.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
.B \-\-ldapQueryUser <string>
New in version 3.4: Available in MongoDB Enterprise only.
@@ -1152,7 +1222,7 @@ both \fI\%\-\-ldapQueryPassword\fP and \fI\%\-\-ldapBindWithOSDefaults\fP at the
.INDENT 0.0
.TP
.B \-\-ldapBindWithOSDefaults <bool>
-\fIDefault\fP: False
+\fIDefault\fP: false
.sp
New in version 3.4: Available in MongoDB Enterprise for the Windows platform only.
@@ -1194,12 +1264,12 @@ connect to the LDAP server.
.UNINDENT
.sp
If you specify \fBsasl\fP, you can configure the available SASL mechanisms
-using \fI\%\-\-ldapBindSASLMechanisms\fP\&. \fBmongod\fP defaults to
+using \fI\%\-\-ldapBindSaslMechanisms\fP\&. \fBmongod\fP defaults to
using \fBDIGEST\-MD5\fP mechanism.
.UNINDENT
.INDENT 0.0
.TP
-.B \-\-ldapBindSASLMechanisms <string>
+.B \-\-ldapBindSaslMechanisms <string>
\fIDefault\fP: DIGEST\-MD5
.sp
New in version 3.4: Available in MongoDB Enterprise only.
@@ -1444,10 +1514,17 @@ username against the \fBmatch\fP filter. If a match is found,
authenticating the user. \fBmongod\fP does not check the remaining documents
in the array.
.sp
-If the given document does not match the provided authentication name, or
-the transformation described by the document fails, \fBmongod\fP continues
-through the list of documents to find additional matches. If no matches are
-found in any document, \fBmongod\fP returns an error.
+If the given document does not match the provided authentication
+name, \fI\%mongod\fP continues through the list of documents
+to find additional matches. If no matches are found in any document,
+or the transformation the document describes fails,
+\fI\%mongod\fP returns an error.
+.sp
+Starting in MongoDB 4.4, \fI\%mongod\fP also returns an error
+if one of the transformations cannot be evaluated due to networking
+or authentication failures to the LDAP server. \fI\%mongod\fP
+rejects the connection request and does not check the remaining
+documents in the array.
.INDENT 7.0
.INDENT 3.5
.SS Example
@@ -1663,16 +1740,16 @@ will refuse to start.
.sp
The directory where the \fBmongod\fP instance stores its data.
.sp
-If you
-installed MongoDB using a package management system, check the
-\fB/etc/mongod.conf\fP file provided by your packages to see the
-directory is specified.
+If using the default
+configuration file
+included with a package manager installation of MongoDB, the
+corresponding \fBstorage.dbPath\fP setting uses a different
+default.
.sp
-Changed in version 3.0: The files in \fI\%\-\-dbpath\fP must correspond to the storage engine
+The files in \fI\%\-\-dbpath\fP must correspond to the storage engine
specified in \fI\%\-\-storageEngine\fP\&. If the data files do not
correspond to \fI\%\-\-storageEngine\fP, \fBmongod\fP will refuse to
start.
-
.UNINDENT
.INDENT 0.0
.TP
@@ -1681,49 +1758,49 @@ Uses a separate directory to store data for each database. The
directories are under the \fI\%\-\-dbpath\fP directory, and each subdirectory
name corresponds to the database name.
.sp
-Changed in version 3.0: To change the \fI\%\-\-directoryperdb\fP option for existing deployments, you must
-restart the \fI\%mongod\fP instances with the new \fI\%\-\-directoryperdb\fP
-value \fBand\fP a new data directory (\fI\%\-\-dbpath <new path>\fP), and then
-repopulate the data.
+Not available for \fI\%mongod\fP instances that use the
+in\-memory storage engine\&.
+.sp
+To change the \fI\%\-\-directoryperdb\fP option for existing
+deployments:
.INDENT 7.0
.IP \(bu 2
-For standalone instances, you can use \fBmongodump\fP on
-the existing instance, stop the instance, restart with the new
-\fI\%\-\-directoryperdb\fP value \fBand\fP a new data directory, and use
-\fBmongorestore\fP to populate the new data directory.
+For standalone instances:
+.INDENT 2.0
+.IP 1. 3
+Use \fI\%mongodump\fP on the existing
+\fI\%mongod\fP instance to generate a backup.
+.IP 2. 3
+Stop the \fI\%mongod\fP instance.
+.IP 3. 3
+Add the \fI\%\-\-directoryperdb\fP value \fBand\fP
+configure a new data directory
+.IP 4. 3
+Restart the \fI\%mongod\fP instance.
+.IP 5. 3
+Use \fI\%mongorestore\fP to populate the new data
+directory.
+.UNINDENT
.IP \(bu 2
-For replica sets, you can update in a rolling manner by stopping
-a secondary member, restart with the new \fI\%\-\-directoryperdb\fP value \fBand\fP
-a new data directory, and use initial sync to populate the new data directory.
-To update all members, start with the secondary members first.
-Then step down the primary, and update the stepped\-down member.
+For replica sets:
+.INDENT 2.0
+.IP 1. 3
+Stop a secondary member.
+.IP 2. 3
+Add the \fI\%\-\-directoryperdb\fP value \fBand\fP
+configure a new data directory to that secondary member.
+.IP 3. 3
+Restart that secondary.
+.IP 4. 3
+Use initial sync to populate
+the new data directory.
+.IP 5. 3
+Update remaining secondaries in the same fashion.
+.IP 6. 3
+Step down the primary, and update the stepped\-down member in the
+same fashion.
.UNINDENT
-
-.sp
-Not available for \fI\%mongod\fP instances that use the
-in\-memory storage engine\&.
.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-noIndexBuildRetry
-Changed in version 4.0: \fI\%\-\-noIndexBuildRetry\fP cannot be used in
-conjunction with \fI\%\-\-replSet\fP; i.e., you cannot
-use \fI\%\-\-noIndexBuildRetry\fP for a \fI\%mongod\fP instance that is part of
-a replica set.
-
-.sp
-Stops the \fBmongod\fP \fBstandalone\fP instance from rebuilding incomplete indexes on the next
-start up. This applies in cases where the \fBmongod\fP restarts after it
-has shut down or stopped in the middle of an index build. In such cases,
-the \fBmongod\fP always removes any incomplete indexes, and then also, by
-default, attempts to rebuild them. To stop the \fBmongod\fP from
-rebuilding incomplete indexes on start up, include this option on the
-command\-line.
-.sp
-The \fI\%\-\-noIndexBuildRetry\fP only applies to standalones.
-.sp
-Not available for \fI\%mongod\fP instances that use the
-in\-memory storage engine\&.
.UNINDENT
.INDENT 0.0
.TP
@@ -1841,11 +1918,11 @@ If any voting member of a replica set uses the in\-memory
storage engine, you must set
\fBwriteConcernMajorityJournalDefault\fP to \fBfalse\fP\&.
.sp
-Starting in version 4.2, if a replica set member uses the
-in\-memory storage engine (voting or
-non\-voting) but the replica set has
-\fBwriteConcernMajorityJournalDefault\fP set to true, the replica set member
-logs a startup warning.
+Starting in version 4.2 (and 4.0.13 and 3.6.14 ), if a replica set
+member uses the in\-memory storage engine
+(voting or non\-voting) but the replica set has
+\fBwriteConcernMajorityJournalDefault\fP set to true, the
+replica set member logs a startup warning.
.UNINDENT
.INDENT 0.0
.TP
@@ -1863,22 +1940,29 @@ WiredTiger storage engine.
.INDENT 0.0
.TP
.B \-\-journalCommitInterval <value>
-\fIDefault\fP: 100 or 30
-.sp
-Changed in version 3.2.
-
+\fIDefault\fP: 100
.sp
The maximum amount of time in milliseconds that
the \fBmongod\fP process allows between
journal operations. Values can range from 1 to 500 milliseconds. Lower
values increase the durability of the journal, at the expense of disk
-performance. The default journal commit interval is 100 milliseconds.
+performance.
.sp
-On WiredTiger, the default journal commit interval is 100 milliseconds. Additionally,
-a write with \fBj:true\fP will cause an immediate sync of the journal.
+On WiredTiger, the default journal commit interval is 100
+milliseconds. Additionally, a write that includes or implies
+\fBj:true\fP will cause an immediate sync of the journal. For details
+or additional conditions that affect the frequency of the sync, see
+journal\-process\&.
.sp
Not available for \fI\%mongod\fP instances that use the
in\-memory storage engine\&.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Known Issue in 4.2.0: The \fI\%\-\-journalCommitInterval\fP is missing in 4.2.0.
+.UNINDENT
+.UNINDENT
.UNINDENT
.SS WiredTiger Options
.INDENT 0.0
@@ -1887,8 +1971,9 @@ in\-memory storage engine\&.
Defines the maximum size of the internal cache that WiredTiger will
use for all data. The memory consumed by an index build (see
\fBmaxIndexBuildMemoryUsageMegabytes\fP) is separate from the
-WiredTiger cache memory. Starting in MongoDB 3.4, the values can range
-from 0.25 GB to 10000 GB and can be a float.
+WiredTiger cache memory.
+.sp
+Values can range from \fB0.25\fP GB to \fB10000\fP GB.
.sp
Starting in MongoDB 3.4, the default WiredTiger internal cache size is
the larger of either:
@@ -1956,12 +2041,60 @@ amount depends on the other processes running in the container. See
.UNINDENT
.INDENT 0.0
.TP
+.B \-\-wiredTigerMaxCacheOverflowFileSizeGB <float>
+.INDENT 7.0
+.INDENT 3.5
+.IP "Deprecated in MongoDB 4.4"
+.sp
+MongoDB deprecates the \fB\-\-wiredTigerMaxCacheOverflowFileSizeGB\fP
+option. The option has no effect starting in MongoDB 4.4.
+.UNINDENT
+.UNINDENT
+.sp
+Specifies the maximum size (in GB) for the "lookaside (or cache
+overflow) table" file \fBWiredTigerLAS.wt\fP for MongoDB
+4.2.1\-4.2.x and 4.0.12\-4.0.x. The file no longer exists starting in
+version 4.4.
+.sp
+The setting can accept the following values:
+.TS
+center;
+|l|l|.
+_
+T{
+Value
+T} T{
+Description
+T}
+_
+T{
+\fB0\fP
+T} T{
+The default value. If set to \fB0\fP, the file size is
+unbounded.
+T}
+_
+T{
+number >= 0.1
+T} T{
+The maximum size (in GB). If the \fBWiredTigerLAS.wt\fP
+file exceeds this size, \fI\%mongod\fP exits with a
+fatal assertion. You can clear the \fBWiredTigerLAS.wt\fP
+file and restart \fI\%mongod\fP\&.
+T}
+_
+.TE
+.sp
+To change the maximum size during runtime, use the
+\fBwiredTigerMaxCacheOverflowSizeGB\fP parameter.
+.sp
+\fIAvailable starting in MongoDB 4.2.1 (and 4.0.12)\fP
+.UNINDENT
+.INDENT 0.0
+.TP
.B \-\-wiredTigerJournalCompressor <compressor>
\fIDefault\fP: snappy
.sp
-New in version 3.0.0.
-
-.sp
Specifies the type of compression to use to compress WiredTiger
journal data.
.sp
@@ -1980,9 +2113,6 @@ zstd (Available starting in MongoDB 4.2)
.INDENT 0.0
.TP
.B \-\-wiredTigerDirectoryForIndexes
-New in version 3.0.0.
-
-.sp
When you start \fBmongod\fP with \fI\%\-\-wiredTigerDirectoryForIndexes\fP, \fBmongod\fP stores indexes and collections in separate
subdirectories under the data (i.e. \fI\%\-\-dbpath\fP) directory.
Specifically, \fBmongod\fP stores the indexes in a subdirectory named
@@ -2000,9 +2130,6 @@ the new destination.
.B \-\-wiredTigerCollectionBlockCompressor <compressor>
\fIDefault\fP: snappy
.sp
-New in version 3.0.0.
-
-.sp
Specifies the default compression for collection data. You can
override this on a per\-collection basis when creating collections.
.sp
@@ -2029,9 +2156,6 @@ created, or the default compressor at that time.
.B \-\-wiredTigerIndexPrefixCompression <boolean>
\fIDefault\fP: true
.sp
-New in version 3.0.0.
-
-.sp
Enables or disables prefix compression for index data.
.sp
Specify \fBtrue\fP for \fI\%\-\-wiredTigerIndexPrefixCompression\fP to enable prefix compression for
@@ -2052,9 +2176,6 @@ this set. All hosts in the replica set must have the same set name.
Starting in MongoDB 4.0,
.INDENT 7.0
.IP \(bu 2
-\fI\%\-\-replSet\fP cannot be used in conjunction with
-\fI\%\-\-noIndexBuildRetry\fP\&.
-.IP \(bu 2
For the WiredTiger storage engine, \fI\%\-\-replSet\fP cannot be used in
conjunction with \fI\%\-\-nojournal\fP\&.
.UNINDENT
@@ -2082,19 +2203,77 @@ the maximum amount of space available. For 64\-bit systems, the oplog
is typically 5% of available disk space.
.sp
Once the \fBmongod\fP has created the oplog for the first time,
-changing the \fI\%\-\-oplogSize\fP option will not affect the size of the oplog.
-.sp
-To change the oplog size of a running replica set member, use the
-\fBreplSetResizeOplog\fP administrative command.
-\fBreplSetResizeOplog\fP enables you to resize the oplog
-dynamically without restarting the \fI\%mongod\fP process.
+changing the \fI\%\-\-oplogSize\fP option will not affect the size of
+the oplog. To change the minimum oplog retention period after
+starting the \fI\%mongod\fP, use
+\fBreplSetResizeOplog\fP\&. \fBreplSetResizeOplog\fP
+enables you to resize the oplog dynamically without restarting the
+\fI\%mongod\fP process. To persist the changes made using
+\fBreplSetResizeOplog\fP through a restart, update the value
+of \fI\%\-\-oplogSize\fP\&.
.sp
See replica\-set\-oplog\-sizing for more information.
.UNINDENT
.INDENT 0.0
.TP
+.B \-\-oplogMinRetentionHours <value>
+New in version 4.4: Specifies the minimum number of hours to preserve an oplog entry,
+where the decimal values represent the fractions of an hour. For
+example, a value of \fB1.5\fP represents one hour and thirty
+minutes.
+.sp
+The value must be greater than or equal to \fB0\fP\&. A value of \fB0\fP
+indicates that the \fI\%mongod\fP should truncate the oplog
+starting with the oldest entries to maintain the configured
+maximum oplog size.
+
+.sp
+Defaults to \fB0\fP\&.
+.sp
+A \fI\%mongod\fP started with \fB\-\-oplogMinRetentionHours\fP
+only removes an oplog entry \fIif\fP:
+.INDENT 7.0
+.IP \(bu 2
+The oplog has reached the maximum configured oplog size \fIand\fP
+.IP \(bu 2
+The oplog entry is older than the configured number of hours based
+on the host system clock.
+.UNINDENT
+.sp
+The \fI\%mongod\fP has the following behavior when configured
+with a minimum oplog retention period:
+.INDENT 7.0
+.IP \(bu 2
+The oplog can grow without constraint so as to retain oplog entries
+for the configured number of hours. This may result in reduction or
+exhaustion of system disk space due to a combination of high write
+volume and large retention period.
+.IP \(bu 2
+If the oplog grows beyond its maximum size, the
+\fI\%mongod\fP may continue to hold that disk space even if
+the oplog returns to its maximum size \fIor\fP is configured for a
+smaller maximum size. See replSetResizeOplog\-cmd\-compact\&.
+.IP \(bu 2
+The \fI\%mongod\fP compares the system wall clock to an
+oplog entries creation wall clock time when enforcing oplog entry
+retention. Clock drift between cluster components may result in
+unexpected oplog retention behavior. See
+production\-notes\-clock\-synchronization for more information on
+clock synchronization across cluster members.
+.UNINDENT
+.sp
+To change the minimum oplog retention period after starting the
+\fI\%mongod\fP, use \fBreplSetResizeOplog\fP\&.
+\fBreplSetResizeOplog\fP enables you to resize the oplog
+dynamically without restarting the \fI\%mongod\fP process. To
+persist the changes made using \fBreplSetResizeOplog\fP
+through a restart, update the value of
+\fI\%\-\-oplogMinRetentionHours\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
.B \-\-enableMajorityReadConcern
-\fIDefault\fP: True
+\fIDefault\fP: true
.sp
Starting in MongoDB 3.6, MongoDB enables support for
\fB"majority"\fP read concern by default.
@@ -2312,26 +2491,35 @@ For more information about TLS and MongoDB, see
.INDENT 0.0
.TP
.B \-\-tlsCertificateKeyFile <filename>
-New in version 4.2.
+New in version 4.2: Specifies the \fB\&.pem\fP file that contains both the TLS
+certificate and key.
.sp
-\fBNOTE:\fP
+Starting with MongoDB 4.0 on macOS or Windows, you can use the
+\fI\%\-\-tlsCertificateSelector\fP option to specify a
+certificate from the operating system\(aqs secure certificate store
+instead of a PEM key file. \fI\%\-\-tlsCertificateKeyFile\fP and
+\fI\%\-\-tlsCertificateSelector\fP options are mutually exclusive.
+You can only specify one.
.INDENT 7.0
+.IP \(bu 2
+On Linux/BSD, you must specify \fI\%\-\-tlsCertificateKeyFile\fP
+when TLS/SSL is enabled.
+.IP \(bu 2
+On Windows or macOS, you must specify either
+\fI\%\-\-tlsCertificateKeyFile\fP or
+\fI\%\-\-tlsCertificateSelector\fP when TLS/SSL is enabled.
+.sp
+\fBIMPORTANT:\fP
+.INDENT 2.0
.INDENT 3.5
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of specifying a PEM file. See
-\fI\%\-\-tlsCertificateSelector\fP\&.
+For Windows \fBonly\fP, MongoDB 4.0 and later do not support
+encrypted PEM files. The \fI\%mongod\fP fails to start if
+it encounters an encrypted PEM file. To securely store and
+access a certificate for use with TLS on Windows,
+use \fI\%\-\-tlsCertificateSelector\fP\&.
.UNINDENT
.UNINDENT
-.sp
-Specifies the \fB\&.pem\fP file that contains both the TLS certificate
-and key.
-.INDENT 7.0
-.IP \(bu 2
-On Linux/BSD, you must specify \fI\%\-\-tlsCertificateKeyFile\fP when TLS is enabled.
-.IP \(bu 2
-On Windows or macOS, you must specify either \fI\%\-\-tlsCertificateKeyFile\fP or
-\fI\%\-\-tlsCertificateSelector\fP when TLS is enabled.
.UNINDENT
.sp
For more information about TLS and MongoDB, see
@@ -2345,9 +2533,11 @@ New in version 4.2.
.sp
Specifies the password to de\-crypt the certificate\-key file (i.e.
-\fI\%\-\-tlsCertificateKeyFile\fP). Use the \fI\%\-\-tlsCertificateKeyFilePassword\fP option only if the
-certificate\-key file is encrypted. In all cases, the \fBmongod\fP will
-redact the password from all logging and reporting output.
+\fI\%\-\-tlsCertificateKeyFile\fP). Use the
+\fI\%\-\-tlsCertificateKeyFilePassword\fP option only if the
+certificate\-key file is encrypted. In all cases, the
+\fBmongod\fP will redact the password from all logging and
+reporting output.
.sp
Starting in MongoDB 4.0:
.INDENT 7.0
@@ -2356,11 +2546,16 @@ On Linux/BSD, if the private key in the PEM file is encrypted and
you do not specify the \fI\%\-\-tlsCertificateKeyFilePassword\fP option, MongoDB will prompt for a
passphrase. See ssl\-certificate\-password\&.
.IP \(bu 2
-On macOS or Windows, if the private key in the PEM file is
-encrypted, you must explicitly specify the \fI\%\-\-tlsCertificateKeyFilePassword\fP option.
-Alternatively, you can use a certificate from the secure system
-store (see \fI\%\-\-tlsCertificateSelector\fP) instead of a PEM file or use an
+On macOS, if the private key in the PEM file is
+encrypted, you must explicitly specify the
+\fI\%\-\-tlsCertificateKeyFilePassword\fP option. Alternatively,
+you can use a certificate from the secure system store (see
+\fI\%\-\-tlsCertificateSelector\fP) instead of a PEM file or use an
unencrypted PEM file.
+.IP \(bu 2
+On Windows, MongoDB does not support encrypted certificates.
+The \fI\%mongod\fP fails if it encounters an encrypted
+PEM file. Use \fI\%\-\-tlsCertificateSelector\fP instead.
.UNINDENT
.sp
For more information about TLS and MongoDB, see
@@ -2372,9 +2567,6 @@ For more information about TLS and MongoDB, see
.B \-\-clusterAuthMode <option>
\fIDefault\fP: keyFile
.sp
-New in version 2.6.
-
-.sp
The authentication mode used for cluster authentication. If you use
internal x.509 authentication,
specify so here. This option can have one of the following values:
@@ -2435,49 +2627,68 @@ For more information about TLS and MongoDB, see
.INDENT 0.0
.TP
.B \-\-tlsClusterFile <filename>
-New in version 4.2.
+New in version 4.2: Specifies the \fB\&.pem\fP file that contains the x.509
+certificate\-key file for membership authentication for the cluster or replica set.
.sp
-\fBNOTE:\fP
-.INDENT 7.0
-.INDENT 3.5
-Starting in 4.0, on macOS or Windows, you can use a certificate
-from the operating system\(aqs secure store instead of a PEM
-file. See \fI\%\-\-tlsClusterCertificateSelector\fP\&.
-.UNINDENT
-.UNINDENT
+Starting with MongoDB 4.0 on macOS or Windows, you can use the
+\fI\%\-\-tlsClusterCertificateSelector\fP option to specify a
+certificate from the operating system\(aqs secure certificate store
+instead of a PEM key file. \fI\%\-\-tlsClusterFile\fP and
+\fI\%\-\-tlsClusterCertificateSelector\fP options are mutually
+exclusive. You can only specify one.
.sp
-Specifies the \fB\&.pem\fP file that contains the x.509 certificate\-key
-file for membership authentication
-for the cluster or replica set.
-.sp
-If \fI\%\-\-tlsClusterFile\fP does not specify the \fB\&.pem\fP file for internal cluster
-authentication or the alternative
+If \fI\%\-\-tlsClusterFile\fP does not specify the \fB\&.pem\fP file for
+internal cluster authentication or the alternative
\fI\%\-\-tlsClusterCertificateSelector\fP, the cluster uses the
-\fB\&.pem\fP file specified in the \fI\%\-\-tlsCertificateKeyFile\fP option or
-the certificate returned by the \fI\%\-\-tlsCertificateSelector\fP\&.
+\fB\&.pem\fP file specified in the \fI\%\-\-tlsCertificateKeyFile\fP
+option or the certificate returned by the
+\fI\%\-\-tlsCertificateSelector\fP\&.
.sp
If using x.509 authentication, \fB\-\-tlsCAFile\fP or \fBtls.CAFile\fP
must be specified unless using \fI\%\-\-tlsCertificateSelector\fP\&.
.sp
+Changed in version 4.4: \fI\%mongod\fP / \fBmongos\fP logs a warning on
+connection if the presented x.509 certificate expires within \fB30\fP
+days of the \fBmongod/mongos\fP host system time. See
+4.4\-rel\-notes\-certificate\-expiration\-warning for more
+information.
+
+.sp
For more information about TLS and MongoDB, see
/tutorial/configure\-ssl and
/tutorial/configure\-ssl\-clients .
+.sp
+\fBIMPORTANT:\fP
+.INDENT 7.0
+.INDENT 3.5
+For Windows \fBonly\fP, MongoDB 4.0 and later do not support
+encrypted PEM files. The \fI\%mongod\fP fails to start if
+it encounters an encrypted PEM file. To securely store and
+access a certificate for use with membership authentication on
+Windows, use \fI\%\-\-tlsClusterCertificateSelector\fP\&.
+.UNINDENT
+.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-\-tlsCertificateSelector <parameter>=<value>
-New in version 4.2: Available on Windows and macOS as an alternative to \fI\%\-\-tlsCertificateKeyFile\fP\&.
-.sp
-The \fI\%\-\-tlsCertificateKeyFile\fP and \fI\%\-\-tlsCertificateSelector\fP options are mutually exclusive. You can only
-specify one.
+New in version 4.2: Available on Windows and macOS as an alternative to
+\fI\%\-\-tlsCertificateKeyFile\fP\&. In version 4.0, see
+\fI\%\-\-sslCertificateSelector\fP\&.
.sp
Specifies a certificate property in order to select a matching
-certificate from the operating system\(aqs certificate store.
+certificate from the operating system\(aqs certificate store to use for
+TLS.
.sp
-\fI\%\-\-tlsCertificateSelector\fP accepts an argument of the format \fB<property>=<value>\fP
-where the property can be one of the following:
+The \fI\%\-\-tlsCertificateKeyFile\fP and
+\fI\%\-\-tlsCertificateSelector\fP options are mutually exclusive.
+You can only specify one.
+.sp
+\fI\%\-\-tlsCertificateSelector\fP accepts an argument of the format
+\fB<property>=<value>\fP where the property can be one of the
+following:
.TS
center;
|l|l|l|.
@@ -2515,6 +2726,21 @@ _
When using the system SSL certificate store, OCSP (Online
Certificate Status Protocol) is used to validate the revocation
status of certificates.
+.sp
+The \fI\%mongod\fP searches the operating system\(aqs secure
+certificate store for the CA certificates required to validate the
+full certificate chain of the specified TLS certificate.
+Specifically, the secure certificate store must contain the root CA
+and any intermediate CA certificates required to build the full
+certificate chain to the TLS certificate. Do \fBnot\fP use
+\fI\%\-\-tlsCAFile\fP or \fI\%\-\-tlsClusterCAFile\fP to specify the
+root and intermediate CA certificate
+.sp
+For example, if the TLS/SSL certificate was signed with a single root
+CA certificate, the secure certificate store must contain that root
+CA certificate. If the TLS/SSL certificate was signed with an
+intermediate CA certificate, the secure certificate store must
+contain the intermedia CA certificate \fIand\fP the root CA certificate.
.UNINDENT
.INDENT 0.0
.TP
@@ -2522,16 +2748,18 @@ status of certificates.
New in version 4.2: Available on Windows and macOS as an alternative to
\fI\%\-\-tlsClusterFile\fP\&.
.sp
-\fI\%\-\-tlsClusterFile\fP and \fI\%\-\-tlsClusterCertificateSelector\fP options are mutually exclusive. You can only
-specify one.
-
-.sp
Specifies a certificate property in order to select a matching
-certificate from the operating system\(aqs certificate store to use for
-internal authentication.
+certificate from the operating system\(aqs certificate store to use
+for internal x.509 membership authentication\&.
.sp
-\fI\%\-\-tlsClusterCertificateSelector\fP accepts an argument of the format \fB<property>=<value>\fP
-where the property can be one of the following:
+\fI\%\-\-tlsClusterFile\fP and
+\fI\%\-\-tlsClusterCertificateSelector\fP options are mutually
+exclusive. You can only specify one.
+
+.sp
+\fI\%\-\-tlsClusterCertificateSelector\fP accepts an argument of the
+format \fB<property>=<value>\fP where the property can be one of the
+following:
.TS
center;
|l|l|l|.
@@ -2565,30 +2793,57 @@ The \fBthumbprint\fP is sometimes referred to as a
T}
_
.TE
+.sp
+The \fI\%mongod\fP searches the operating system\(aqs secure
+certificate store for the CA certificates required to validate the
+full certificate chain of the specified cluster certificate.
+Specifically, the secure certificate store must contain the root CA
+and any intermediate CA certificates required to build the full
+certificate chain to the cluster certificate. Do \fBnot\fP use
+\fI\%\-\-tlsCAFile\fP or \fI\%\-\-tlsClusterCAFile\fP to specify the
+root and intermediate CA certificate.
+.sp
+For example, if the cluster certificate was signed with a single root
+CA certificate, the secure certificate store must contain that root
+CA certificate. If the cluster certificate was signed with an
+intermediate CA certificate, the secure certificate store must
+contain the intermedia CA certificate \fIand\fP the root CA certificate.
+.sp
+Changed in version 4.4: \fI\%mongod\fP / \fBmongos\fP logs a warning on
+connection if the presented x.509 certificate expires within \fB30\fP
+days of the \fBmongod/mongos\fP host system time. See
+4.4\-rel\-notes\-certificate\-expiration\-warning for more
+information.
+
.UNINDENT
.INDENT 0.0
.TP
.B \-\-tlsClusterPassword <value>
-New in version 4.2.
+New in version 4.2: Specifies the password to de\-crypt the x.509 certificate\-key file
+specified with \fI\%\-\-tlsClusterFile\fP\&. Use the
+\fI\%\-\-tlsClusterPassword\fP option only if the certificate\-key
+file is encrypted. In all cases, the \fBmongod\fP will redact
+the password from all logging and reporting output.
.sp
-Specifies the password to de\-crypt the x.509 certificate\-key file
-specified with \fB\-\-tlsClusterFile\fP\&. Use the \fI\%\-\-tlsClusterPassword\fP option only
-if the certificate\-key file is encrypted. In all cases, the \fBmongod\fP
-will redact the password from all logging and reporting output.
-.sp
Starting in MongoDB 4.0:
.INDENT 7.0
.IP \(bu 2
On Linux/BSD, if the private key in the x.509 file is encrypted and
-you do not specify the \fI\%\-\-tlsClusterPassword\fP option, MongoDB will prompt for a
-passphrase. See ssl\-certificate\-password\&.
+you do not specify the \fI\%\-\-tlsClusterPassword\fP option,
+MongoDB will prompt for a passphrase. See
+ssl\-certificate\-password\&.
.IP \(bu 2
-On macOS or Windows, if the private key in the x.509 file is
-encrypted, you must explicitly specify the \fI\%\-\-tlsClusterPassword\fP option.
-Alternatively, you can either use a certificate from the secure
-system store (see \fI\%\-\-tlsClusterCertificateSelector\fP) instead of a cluster PEM file or
-use an unencrypted PEM file.
+On macOS, if the private key in the x.509 file is
+encrypted, you must explicitly specify the
+\fI\%\-\-tlsClusterPassword\fP option. Alternatively, you can
+either use a certificate from the secure system store (see
+\fI\%\-\-tlsClusterCertificateSelector\fP) instead of a cluster PEM
+file or use an unencrypted PEM file.
+.IP \(bu 2
+On Windows, MongoDB does not support encrypted certificates.
+The \fI\%mongod\fP fails if it encounters an encrypted
+PEM file. Use \fI\%\-\-tlsClusterCertificateSelector\fP instead.
.UNINDENT
.sp
For more information about TLS and MongoDB, see
@@ -2601,14 +2856,20 @@ For more information about TLS and MongoDB, see
New in version 4.2.
.sp
-Specifies the \fB\&.pem\fP file that contains the root certificate chain
-from the Certificate Authority. Specify the file name of the
+Specifies the \fB\&.pem\fP file that contains the root certificate
+chain from the Certificate Authority. Specify the file name of the
\fB\&.pem\fP file using relative or absolute paths.
-.sp
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of a PEM key file. See
-\fI\%\-\-tlsCertificateSelector\fP\&. When using the secure store, you
-do not need to, but can, also specify the \fI\%\-\-tlsCAFile\fP\&.
+.INDENT 7.0
+.TP
+.B Windows/macOS Only
+If using \fI\%\-\-tlsCertificateSelector\fP and/or
+\fI\%\-\-tlsClusterCertificateSelector\fP, do \fBnot\fP use
+\fI\%\-\-tlsCAFile\fP to specify the root and intermediate CA
+certificates. Store all CA certificates required to validate the
+full trust chain of the \fI\%\-\-tlsCertificateSelector\fP and/or
+\fI\%\-\-tlsClusterCertificateSelector\fP certificates in the
+secure certificate store.
+.UNINDENT
.sp
For more information about TLS and MongoDB, see
/tutorial/configure\-ssl and
@@ -2620,24 +2881,33 @@ For more information about TLS and MongoDB, see
New in version 4.2.
.sp
-Specifies the \fB\&.pem\fP file that contains the root certificate chain
-from the Certificate Authority used to validate the certificate
+Specifies the \fB\&.pem\fP file that contains the root certificate
+chain from the Certificate Authority used to validate the certificate
presented by a client establishing a connection. Specify the file
name of the \fB\&.pem\fP file using relative or absolute paths.
+\fI\%\-\-tlsClusterCAFile\fP requires that
+\fI\%\-\-tlsCAFile\fP is set.
.sp
-If \fI\%\-\-tlsClusterCAFile\fP does not specify the \fB\&.pem\fP file for validating the
-certificate from a client establishing a connection, the cluster uses
-the \fB\&.pem\fP file specified in the \fI\%\-\-tlsCAFile\fP option.
-.sp
-\fI\%\-\-tlsClusterCAFile\fP lets you use separate Certificate Authorities to verify the
-client to server and server to client portions of the TLS handshake.
+If \fI\%\-\-tlsClusterCAFile\fP does not specify the \fB\&.pem\fP
+file for validating the certificate from a client establishing a
+connection, the cluster uses the \fB\&.pem\fP file specified in the
+\fI\%\-\-tlsCAFile\fP option.
.sp
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of a PEM key file. See
-\fI\%\-\-tlsClusterCertificateSelector\fP\&. When using the secure store, you
-do not need to, but can, also specify the \fI\%\-\-tlsClusterCAFile\fP\&.
-.sp
-Requires that \fI\%\-\-tlsCAFile\fP is set.
+\fI\%\-\-tlsClusterCAFile\fP lets you use separate Certificate
+Authorities to verify the client to server and server to client
+portions of the TLS handshake.
+.INDENT 7.0
+.TP
+.B Windows/macOS Only
+If using \fI\%\-\-tlsCertificateSelector\fP and/or
+\fI\%\-\-tlsClusterCertificateSelector\fP, do \fBnot\fP use
+\fI\%\-\-tlsClusterCAFile\fP to specify the root and
+intermediate CA certificates. Store all CA certificates required to
+validate the full trust chain of the
+\fI\%\-\-tlsCertificateSelector\fP and/or
+\fI\%\-\-tlsClusterCertificateSelector\fP certificates in the
+secure certificate store.
+.UNINDENT
.sp
For more information about TLS and MongoDB, see
/tutorial/configure\-ssl and
@@ -2646,17 +2916,32 @@ For more information about TLS and MongoDB, see
.INDENT 0.0
.TP
.B \-\-tlsCRLFile <filename>
-New in version 4.2.
+New in version 4.2: For MongoDB 4.0 and earlier, see \fI\%\-\-sslCRLFile\fP\&.
.sp
-Specifies the the \fB\&.pem\fP file that contains the Certificate Revocation
+Specifies the \fB\&.pem\fP file that contains the Certificate Revocation
List. Specify the file name of the \fB\&.pem\fP file using relative or
absolute paths.
.sp
\fBNOTE:\fP
.INDENT 7.0
.INDENT 3.5
-Starting in MongoDB 4.0, you cannot specify \fI\%\-\-tlsCRLFile\fP on macOS. Use \fI\%\-\-tlsCertificateSelector\fP instead.
+.INDENT 0.0
+.IP \(bu 2
+Starting in MongoDB 4.0, you cannot specify a CRL file on
+macOS. Instead, you can use the system SSL certificate store,
+which uses OCSP (Online Certificate Status Protocol) to
+validate the revocation status of certificates. See
+\fI\%\-\-sslCertificateSelector\fP in MongoDB 4.0 and
+\fI\%\-\-tlsCertificateSelector\fP in MongoDB 4.2+ to use the
+system SSL certificate store.
+.IP \(bu 2
+Starting in version 4.4, to check for certificate revocation,
+MongoDB \fBenables\fP the use of OCSP
+(Online Certificate Status Protocol) by default as an
+alternative to specifying a CRL file or using the system SSL
+certificate store.
+.UNINDENT
.UNINDENT
.UNINDENT
.sp
@@ -2740,7 +3025,7 @@ incoming connections that use a specific protocol or protocols. To
specify multiple protocols, use a comma separated list of protocols.
.sp
\fI\%\-\-tlsDisabledProtocols\fP recognizes the following protocols: \fBTLS1_0\fP, \fBTLS1_1\fP,
-\fBTLS1_2\fP, and starting in version 4.0.4 (and 3.6.9), \fBTLS1_3\fP\&.
+\fBTLS1_2\fP, and \fBTLS1_3\fP\&.
.INDENT 7.0
.IP \(bu 2
On macOS, you cannot disable \fBTLS1_1\fP and leave both \fBTLS1_0\fP and
@@ -2831,9 +3116,6 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsMode\fP instead.
.sp
-New in version 2.6.
-
-.sp
Enables TLS/SSL or mixed TLS/SSL used for all network connections. The
argument to the \fI\%\-\-sslMode\fP option can be one of the following:
.TS
@@ -2896,23 +3178,34 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsCertificateKeyFile\fP instead.
.sp
-\fBNOTE:\fP
-.INDENT 7.0
-.INDENT 3.5
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of a PEM file. See
-\fI\%\-\-sslCertificateSelector\fP\&.
-.UNINDENT
-.UNINDENT
+Specifies the \fB\&.pem\fP file that contains both the TLS/SSL
+certificate and key.
.sp
-Specifies the \fB\&.pem\fP file that contains both the TLS/SSL certificate
-and key.
+Starting with MongoDB 4.0 on macOS or Windows, you can use the
+\fI\%\-\-sslCertificateSelector\fP option to specify a
+certificate from the operating system\(aqs secure certificate store
+instead of a PEM key file. \fI\%\-\-sslPEMKeyFile\fP and
+\fI\%\-\-sslCertificateSelector\fP options are mutually exclusive.
+You can only specify one.
.INDENT 7.0
.IP \(bu 2
-On Linux/BSD, you must specify \fI\%\-\-sslPEMKeyFile\fP when TLS/SSL is enabled.
+On Linux/BSD, you must specify \fI\%\-\-sslPEMKeyFile\fP when
+TLS/SSL is enabled.
.IP \(bu 2
-On Windows or macOS, you must specify either \fI\%\-\-sslPEMKeyFile\fP or
-\fI\%\-\-sslCertificateSelector\fP when TLS/SSL is enabled.
+On Windows or macOS, you must specify either
+\fI\%\-\-sslPEMKeyFile\fP or \fI\%\-\-sslCertificateSelector\fP
+when TLS/SSL is enabled.
+.sp
+\fBIMPORTANT:\fP
+.INDENT 2.0
+.INDENT 3.5
+For Windows \fBonly\fP, MongoDB 4.0 and later do not support
+encrypted PEM files. The \fI\%mongod\fP fails to start if
+it encounters an encrypted PEM file. To securely store and
+access a certificate for use with TLS/SSL on Windows,
+use \fI\%\-\-sslCertificateSelector\fP\&.
+.UNINDENT
+.UNINDENT
.UNINDENT
.sp
For more information about TLS/SSL and MongoDB, see
@@ -2937,11 +3230,16 @@ On Linux/BSD, if the private key in the PEM file is encrypted and
you do not specify the \fI\%\-\-sslPEMKeyPassword\fP option, MongoDB will prompt for a
passphrase. See ssl\-certificate\-password\&.
.IP \(bu 2
-On macOS or Windows, if the private key in the PEM file is
-encrypted, you must explicitly specify the \fI\%\-\-sslPEMKeyPassword\fP option.
-Alternatively, you can use a certificate from the secure system
-store (see \fI\%\-\-sslCertificateSelector\fP) instead of a PEM key file or use an
-unencrypted PEM file.
+On macOS, if the private key in the PEM file is
+encrypted, you must explicitly specify the
+\fI\%\-\-sslPEMKeyPassword\fP option. Alternatively, you can use a
+certificate from the secure system store (see
+\fI\%\-\-sslCertificateSelector\fP) instead of a PEM key file or
+use an unencrypted PEM file.
+.IP \(bu 2
+On Windows, MongoDB does not support encrypted certificates.
+The \fI\%mongod\fP fails if it encounters an encrypted
+PEM file. Use \fI\%\-\-sslCertificateSelector\fP instead.
.UNINDENT
.sp
For more information about TLS/SSL and MongoDB, see
@@ -2954,21 +3252,18 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsClusterFile\fP instead.
.sp
-\fBNOTE:\fP
-.INDENT 7.0
-.INDENT 3.5
-Starting in 4.0, on macOS or Windows, you can use a certificate
-from the operating system\(aqs secure store instead of a PEM key
-file. See \fI\%\-\-sslClusterCertificateSelector\fP\&.
-.UNINDENT
-.UNINDENT
+Specifies the \fB\&.pem\fP file that contains the x.509
+certificate\-key file for membership authentication for the cluster or replica set.
.sp
-Specifies the \fB\&.pem\fP file that contains the x.509 certificate\-key
-file for membership authentication
-for the cluster or replica set.
+Starting with MongoDB 4.0 on macOS or Windows, you can use the
+\fI\%\-\-sslClusterCertificateSelector\fP option to specify a
+certificate from the operating system\(aqs secure certificate store
+instead of a PEM key file. \fI\%\-\-sslClusterFile\fP and
+\fI\%\-\-sslClusterCertificateSelector\fP options are mutually
+exclusive. You can only specify one.
.sp
-If \fI\%\-\-sslClusterFile\fP does not specify the \fB\&.pem\fP file for internal cluster
-authentication or the alternative
+If \fI\%\-\-sslClusterFile\fP does not specify the \fB\&.pem\fP file for
+internal cluster authentication or the alternative
\fI\%\-\-sslClusterCertificateSelector\fP, the cluster uses the
\fB\&.pem\fP file specified in the \fI\%\-\-sslPEMKeyFile\fP option or
the certificate returned by the \fI\%\-\-sslCertificateSelector\fP\&.
@@ -2982,6 +3277,17 @@ must be specified unless using \fB\-\-tlsCertificateSelector\fP or
For more information about TLS/SSL and MongoDB, see
/tutorial/configure\-ssl and
/tutorial/configure\-ssl\-clients .
+.sp
+\fBIMPORTANT:\fP
+.INDENT 7.0
+.INDENT 3.5
+For Windows \fBonly\fP, MongoDB 4.0 and later do not support
+encrypted PEM files. The \fI\%mongod\fP fails to start if
+it encounters an encrypted PEM file. To securely store and
+access a certificate for use with membership authentication on
+Windows, use \fI\%\-\-sslClusterCertificateSelector\fP\&.
+.UNINDENT
+.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
@@ -2989,17 +3295,20 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsCertificateSelector\fP instead.
.sp
-New in version 4.0: Available on Windows and macOS as an alternative to \fI\%\-\-tlsCertificateKeyFile\fP\&.
+New in version 4.0: Available on Windows and macOS as an alternative to
+\fI\%\-\-tlsCertificateKeyFile\fP\&.
.sp
-\fI\%\-\-tlsCertificateKeyFile\fP and \fI\%\-\-sslCertificateSelector\fP options are mutually exclusive. You can only
-specify one.
-
+Specifies a certificate property to select a matching certificate
+from the operating system\(aqs secure certificate store to use for
+TLS/SSL.
.sp
-Specifies a certificate property in order to select a matching
-certificate from the operating system\(aqs certificate store.
+\fI\%\-\-sslPEMKeyFile\fP and \fI\%\-\-sslCertificateSelector\fP
+options are mutually exclusive. You can only specify one.
+
.sp
-\fI\%\-\-sslCertificateSelector\fP accepts an argument of the format \fB<property>=<value>\fP
-where the property can be one of the following:
+\fI\%\-\-sslCertificateSelector\fP accepts an argument of the format
+\fB<property>=<value>\fP where the property can be one of the
+following:
.TS
center;
|l|l|l|.
@@ -3037,6 +3346,21 @@ _
When using the system SSL certificate store, OCSP (Online
Certificate Status Protocol) is used to validate the revocation
status of certificates.
+.sp
+The \fI\%mongod\fP searches the operating system\(aqs secure
+certificate store for the CA certificates required to validate the
+full certificate chain of the specified TLS/SSL certificate.
+Specifically, the secure certificate store must contain the root CA
+and any intermediate CA certificates required to build the full
+certificate chain to the TLS/SSL certificate. Do \fBnot\fP use
+\fI\%\-\-sslCAFile\fP or \fI\%\-\-sslClusterCAFile\fP to specify the
+root and intermediate CA certificate
+.sp
+For example, if the TLS/SSL certificate was signed with a single root
+CA certificate, the secure certificate store must contain that root
+CA certificate. If the TLS/SSL certificate was signed with an
+intermediate CA certificate, the secure certificate store must
+contain the intermedia CA certificate \fIand\fP the root CA certificate.
.UNINDENT
.INDENT 0.0
.TP
@@ -3047,16 +3371,18 @@ Deprecated since version 4.2: Use \fI\%\-\-tlsClusterCertificateSelector\fP inst
New in version 4.0: Available on Windows and macOS as an alternative to
\fI\%\-\-sslClusterFile\fP\&.
.sp
-\fI\%\-\-sslClusterFile\fP and \fI\%\-\-sslClusterCertificateSelector\fP options are mutually exclusive. You can only
-specify one.
-
+Specifies a certificate property to select a matching certificate
+from the operating system\(aqs secure certificate store to use for
+internal x.509 membership authentication\&.
.sp
-Specifies a certificate property in order to select a matching
-certificate from the operating system\(aqs certificate store to use for
-internal authentication.
+\fI\%\-\-sslClusterFile\fP and
+\fI\%\-\-sslClusterCertificateSelector\fP options are mutually
+exclusive. You can only specify one.
+
.sp
-\fI\%\-\-sslClusterCertificateSelector\fP accepts an argument of the format \fB<property>=<value>\fP
-where the property can be one of the following:
+\fI\%\-\-sslClusterCertificateSelector\fP accepts an argument of the
+format \fB<property>=<value>\fP where the property can be one of the
+following:
.TS
center;
|l|l|l|.
@@ -3090,6 +3416,21 @@ The \fBthumbprint\fP is sometimes referred to as a
T}
_
.TE
+.sp
+The \fI\%mongod\fP searches the operating system\(aqs secure
+certificate store for the CA certificates required to validate the
+full certificate chain of the specified cluster certificate.
+Specifically, the secure certificate store must contain the root CA
+and any intermediate CA certificates required to build the full
+certificate chain to the cluster certificate. Do \fBnot\fP use
+\fI\%\-\-sslCAFile\fP or \fI\%\-\-sslClusterCAFile\fP to specify the
+root and intermediate CA certificate.
+.sp
+For example, if the cluster certificate was signed with a single root
+CA certificate, the secure certificate store must contain that root
+CA certificate. If the cluster certificate was signed with an
+intermediate CA certificate, the secure certificate store must
+contain the intermedia CA certificate \fIand\fP the root CA certificate.
.UNINDENT
.INDENT 0.0
.TP
@@ -3097,9 +3438,6 @@ _
Deprecated since version 4.2: Use \fI\%\-\-tlsClusterPassword\fP instead.
.sp
-New in version 2.6.
-
-.sp
Specifies the password to de\-crypt the x.509 certificate\-key file
specified with \fB\-\-sslClusterFile\fP\&. Use the \fI\%\-\-sslClusterPassword\fP option only
if the certificate\-key file is encrypted. In all cases, the \fBmongod\fP
@@ -3112,11 +3450,15 @@ On Linux/BSD, if the private key in the x.509 file is encrypted and
you do not specify the \fI\%\-\-sslClusterPassword\fP option, MongoDB will prompt for a
passphrase. See ssl\-certificate\-password\&.
.IP \(bu 2
-On macOS or Windows, if the private key in the x.509 file is
-encrypted, you must explicitly specify the \fI\%\-\-sslClusterPassword\fP option.
+On macOS, if the private key in the x.509 file is encrypted, you
+must explicitly specify the \fI\%\-\-sslClusterPassword\fP option.
Alternatively, you can either use a certificate from the secure
-system store (see \fI\%\-\-sslClusterCertificateSelector\fP) instead of a cluster PEM file or
-use an unencrypted PEM file.
+system store (see \fI\%\-\-sslClusterCertificateSelector\fP)
+instead of a cluster PEM file or use an unencrypted PEM file.
+.IP \(bu 2
+On Windows, MongoDB does not support encrypted certificates.
+The \fI\%mongod\fP fails if it encounters an encrypted
+PEM file. Use \fI\%\-\-sslClusterCertificateSelector\fP instead.
.UNINDENT
.sp
For more information about TLS/SSL and MongoDB, see
@@ -3129,14 +3471,20 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsCAFile\fP instead.
.sp
-Specifies the \fB\&.pem\fP file that contains the root certificate chain
-from the Certificate Authority. Specify the file name of the
+Specifies the \fB\&.pem\fP file that contains the root certificate
+chain from the Certificate Authority. Specify the file name of the
\fB\&.pem\fP file using relative or absolute paths.
-.sp
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of a PEM key file. See
-\fI\%\-\-sslCertificateSelector\fP\&. When using the secure store, you
-do not need to, but can, also specify the \fI\%\-\-sslCAFile\fP\&.
+.INDENT 7.0
+.TP
+.B Windows/macOS Only
+If using \fI\%\-\-sslCertificateSelector\fP and/or
+\fI\%\-\-sslClusterCertificateSelector\fP, do \fBnot\fP use
+\fI\%\-\-sslCAFile\fP to specify the root and intermediate CA
+certificates. Store all CA certificates required to validate the
+full trust chain of the \fI\%\-\-sslCertificateSelector\fP and/or
+\fI\%\-\-sslClusterCertificateSelector\fP certificates in the
+secure certificate store.
+.UNINDENT
.sp
For more information about TLS/SSL and MongoDB, see
/tutorial/configure\-ssl and
@@ -3148,24 +3496,33 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsClusterCAFile\fP instead.
.sp
-Specifies the \fB\&.pem\fP file that contains the root certificate chain
-from the Certificate Authority used to validate the certificate
+Specifies the \fB\&.pem\fP file that contains the root certificate
+chain from the Certificate Authority used to validate the certificate
presented by a client establishing a connection. Specify the file
name of the \fB\&.pem\fP file using relative or absolute paths.
+\fI\%\-\-sslClusterCAFile\fP requires that
+\fI\%\-\-sslCAFile\fP is set.
.sp
-If \fI\%\-\-sslClusterCAFile\fP does not specify the \fB\&.pem\fP file for validating the
-certificate from a client establishing a connection, the cluster uses
-the \fB\&.pem\fP file specified in the \fI\%\-\-sslCAFile\fP option.
-.sp
-\fI\%\-\-sslClusterCAFile\fP lets you use separate Certificate Authorities to verify the
-client to server and server to client portions of the TLS handshake.
+If \fI\%\-\-sslClusterCAFile\fP does not specify the \fB\&.pem\fP
+file for validating the certificate from a client establishing a
+connection, the cluster uses the \fB\&.pem\fP file specified in the
+\fI\%\-\-sslCAFile\fP option.
.sp
-Starting in 4.0, on macOS or Windows, you can use a certificate from
-the operating system\(aqs secure store instead of a PEM key file. See
-\fI\%\-\-sslClusterCertificateSelector\fP\&. When using the secure store, you
-do not need to, but can, also specify the \fI\%\-\-sslClusterCAFile\fP\&.
-.sp
-Requires that \fI\%\-\-sslCAFile\fP is set.
+\fI\%\-\-sslClusterCAFile\fP lets you use separate Certificate
+Authorities to verify the client to server and server to client
+portions of the TLS handshake.
+.INDENT 7.0
+.TP
+.B Windows/macOS Only
+If using \fI\%\-\-sslCertificateSelector\fP and/or
+\fI\%\-\-sslClusterCertificateSelector\fP, do \fBnot\fP use
+\fI\%\-\-sslClusterCAFile\fP to specify the root and
+intermediate CA certificates. Store all CA certificates required to
+validate the full trust chain of the
+\fI\%\-\-sslCertificateSelector\fP and/or
+\fI\%\-\-sslClusterCertificateSelector\fP certificates in the
+secure certificate store.
+.UNINDENT
.sp
For more information about TLS/SSL and MongoDB, see
/tutorial/configure\-ssl and
@@ -3177,14 +3534,29 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsCRLFile\fP instead.
.sp
-Specifies the the \fB\&.pem\fP file that contains the Certificate Revocation
+Specifies the \fB\&.pem\fP file that contains the Certificate Revocation
List. Specify the file name of the \fB\&.pem\fP file using relative or
absolute paths.
.sp
\fBNOTE:\fP
.INDENT 7.0
.INDENT 3.5
-Starting in MongoDB 4.0, you cannot specify \fI\%\-\-sslCRLFile\fP on macOS. Use \fI\%\-\-sslCertificateSelector\fP instead.
+.INDENT 0.0
+.IP \(bu 2
+Starting in MongoDB 4.0, you cannot specify a CRL file on
+macOS. Instead, you can use the system SSL certificate store,
+which uses OCSP (Online Certificate Status Protocol) to
+validate the revocation status of certificates. See
+\fI\%\-\-sslCertificateSelector\fP in MongoDB 4.0 and
+\fI\%\-\-tlsCertificateSelector\fP in MongoDB 4.2+ to use the
+system SSL certificate store.
+.IP \(bu 2
+Starting in version 4.4, to check for certificate revocation,
+MongoDB \fBenables\fP the use of OCSP
+(Online Certificate Status Protocol) by default as an
+alternative to specifying a CRL file or using the system SSL
+certificate store.
+.UNINDENT
.UNINDENT
.UNINDENT
.sp
@@ -3230,9 +3602,6 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsAllowInvalidHostnames\fP instead.
.sp
-New in version 3.0.
-
-.sp
Disables the validation of the hostnames in TLS/SSL certificates,
when connecting to other members of the replica set or sharded cluster
for inter\-process authentication. This allows \fBmongod\fP to connect
@@ -3269,15 +3638,12 @@ For more information about TLS/SSL and MongoDB, see
Deprecated since version 4.2: Use \fI\%\-\-tlsDisabledProtocols\fP instead.
.sp
-New in version 3.0.7.
-
-.sp
Prevents a MongoDB server running with TLS/SSL from accepting
incoming connections that use a specific protocol or protocols. To
specify multiple protocols, use a comma separated list of protocols.
.sp
\fI\%\-\-sslDisabledProtocols\fP recognizes the following protocols: \fBTLS1_0\fP, \fBTLS1_1\fP,
-\fBTLS1_2\fP, and starting in version 4.0.4 (and 3.6.9), \fBTLS1_3\fP\&.
+\fBTLS1_2\fP, and starting in version 4.0.4 (and 3.6.9 and 3.4.24), \fBTLS1_3\fP\&.
.INDENT 7.0
.IP \(bu 2
On macOS, you cannot disable \fBTLS1_1\fP and leave both \fBTLS1_0\fP and
@@ -3483,9 +3849,6 @@ and \fI\%MongoDB Atlas\fP\&.
.INDENT 0.0
.TP
.B \-\-auditFormat
-New in version 2.6.
-
-.sp
Specifies the format of the output file for auditing if \fI\%\-\-auditDestination\fP is \fBfile\fP\&. The
\fI\%\-\-auditFormat\fP option can have one of the following values:
.TS
@@ -3528,9 +3891,6 @@ and \fI\%MongoDB Atlas\fP\&.
.INDENT 0.0
.TP
.B \-\-auditPath
-New in version 2.6.
-
-.sp
Specifies the output file for auditing if
\fI\%\-\-auditDestination\fP has value of \fBfile\fP\&. The \fI\%\-\-auditPath\fP
option can take either a full path name or a relative path name.
@@ -3546,9 +3906,6 @@ and \fI\%MongoDB Atlas\fP\&.
.INDENT 0.0
.TP
.B \-\-auditFilter
-New in version 2.6.
-
-.sp
Specifies the filter to limit the types of operations the audit system records. The option takes a string representation
of a query document of the form:
.INDENT 7.0
@@ -3650,7 +4007,7 @@ Available in MongoDB Enterprise only.
.INDENT 0.0
.TP
.B \-\-enableEncryption <boolean>
-\fIDefault\fP: False
+\fIDefault\fP: false
.sp
New in version 3.2.
@@ -3760,7 +4117,7 @@ Available in MongoDB Enterprise only.
.INDENT 0.0
.TP
.B \-\-kmipRotateMasterKey <boolean>
-\fIDefault\fP: False
+\fIDefault\fP: false
.sp
New in version 3.2.
@@ -3788,16 +4145,24 @@ kmip\-master\-key\-rotation
New in version 3.2.
.sp
-Hostname or IP address of key management solution running a KMIP
-server. Requires \fBenableEncryption\fP to be true.
-.sp
-When connecting to the KMIP server, the \fI\%mongod\fP
-verifies that the specified \fI\%\-\-kmipServerName\fP matches the Subject Alternative
-Name \fBSAN\fP (or, if \fBSAN\fP is not present, the Common Name \fBCN\fP)
-in the certificate presented by the KMIP server. If \fBSAN\fP is
-present, \fI\%mongod\fP does not match against the \fBCN\fP\&. If
-the hostname does not match the \fBSAN\fP (or \fBCN\fP), the
-\fI\%mongod\fP will fail to connect.
+Hostname or IP address of the KMIP server to connect to. Requires
+\fI\%\-\-enableEncryption\fP to be true.
+.sp
+Starting in MongoDB 4.2.1 (and 4.0.14), you can specify multiple KMIP
+servers as a comma\-separated list, e.g.
+\fBserver1.example.com,server2.example.com\fP\&. On startup, the
+\fI\%mongod\fP will attempt to establish a connection to each
+server in the order listed, and will select the first server to
+which it can successfully establish a connection. KMIP server
+selection occurs only at startup.
+.sp
+When connecting to a KMIP server, the \fI\%mongod\fP
+verifies that the specified \fI\%\-\-kmipServerName\fP matches the
+Subject Alternative Name \fBSAN\fP (or, if \fBSAN\fP is not present, the
+Common Name \fBCN\fP) in the certificate presented by the KMIP server.
+If \fBSAN\fP is present, \fI\%mongod\fP does not match against
+the \fBCN\fP\&. If the hostname does not match the \fBSAN\fP (or \fBCN\fP),
+the \fI\%mongod\fP will fail to connect.
.sp
Starting in MongoDB 4.2, when performing comparison of SAN, MongoDB
supports comparison of DNS names or IP addresses. In previous versions,
@@ -3818,9 +4183,55 @@ Available in MongoDB Enterprise only.
New in version 3.2.
.sp
-Port number the KMIP server is listening on. Requires that a
-\fBkmipServerName\fP be provided. Requires
-\fBenableEncryption\fP to be true.
+Port number to use to communicate with the KMIP server.
+Requires \fI\%\-\-kmipServerName\fP\&. Requires
+\fI\%\-\-enableEncryption\fP to be true.
+.sp
+If specifying multiple KMIP servers with \fI\%\-\-kmipServerName\fP,
+the \fI\%mongod\fP will use the port specified with
+\fI\%\-\-kmipPort\fP for all provided KMIP servers.
+.INDENT 7.0
+.INDENT 3.5
+.IP "Enterprise Feature"
+.sp
+Available in MongoDB Enterprise only.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-kmipConnectRetries <number>
+\fIDefault\fP: 0
+.sp
+New in version 4.4.
+
+.sp
+How many times to retry the initial connection to the KMIP server.
+Use together with \fI\%\-\-kmipConnectTimeoutMS\fP to
+control how long the \fI\%mongod\fP waits for a response
+between each retry.
+.INDENT 7.0
+.INDENT 3.5
+.IP "Enterprise Feature"
+.sp
+Available in MongoDB Enterprise only.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-kmipConnectTimeoutMS <number>
+\fIDefault\fP: 5000
+.sp
+New in version 4.4.
+
+.sp
+Timeout in milliseconds to wait for a response from the KMIP server.
+If the \fI\%\-\-kmipConnectRetries\fP setting is specified,
+the \fI\%mongod\fP will wait up to the value specified with
+\fI\%\-\-kmipConnectTimeoutMS\fP for each retry.
+.sp
+Value must be \fB1000\fP or greater.
.INDENT 7.0
.INDENT 3.5
.IP "Enterprise Feature"
@@ -3971,6 +4382,6 @@ Available in MongoDB Enterprise only.
.SH AUTHOR
MongoDB Documentation Project
.SH COPYRIGHT
-2008-2019
+2008-2020
.\" Generated by docutils manpage writer.
.