时间:2021-07-01 10:21:17 帮助过:11人阅读
systemLog:
verbosity: <int>
quiet: <boolean>
traceAllExceptions: <boolean>
syslogFacility: <string>
path: <string>
logAppend: <boolean>
logRotate: <string>
destination: <string>
timeStampFormat: <string>
component:
accessControl:
verbosity: <int>
command:
verbosity: <int>
Type: integer
Default: 0
Changed in version 3.0.
组件的默认日志消息详细程度级别。详细程度级别决定了MongoDB输出的信息和Debug消息量。
详细级别可以在0到5之间:
Type: boolean
运行mongos或mongod在一个安静的模式,试图限制输出量。
systemLog.quiet不推荐用于生产系统,因为它可能会使特定连接中的跟踪问题变得更加困难。
Type: boolean
打印详细信息进行调试。 用于支持相关故障排除的其他日志记录。
Type: string
Default: user
将消息记录到syslog时使用的设备级别。 您指定的值必须由操作系统的syslog实现支持。 要使用此选项,必须启用--syslog选项。
Type: string
mongod或mongos应发送所有诊断日志信息的日志文件的路径,而不是标准输出或主机的syslog。 MongoDB在指定的路径上创建日志文件。
Linux程序包init脚本不希望systemLog.path从默认值更改。 如果使用Linux软件包并更改systemLog.path,则必须使用自己的init脚本并禁用内置脚本。
Type: boolean
Default: False
当为真时,当mongos或mongod实例重新启动时,mongos或mongod会将新条目追加到现有日志文件的末尾。 没有此选项,mongod将备份现有日志并创建一个新文件。
Type: string
Default: rename
New in version 3.0.0.
logRotate命令的行为。 指定重命名或重新打开:
Type: string
MongoDB发送所有日志输出的目的地。 指定文件或syslog。 如果指定文件,还必须指定systemLog.path。
如果不指定systemLog.destination,MongoDB会将所有日志输出发送到标准输出。
Type: string
Default: iso8601-local
日志消息中时间戳的时间格式。 指定以下值之一:
Value | Description |
---|---|
ctime | 显示时间戳为Wed Dec 31 18:17:54.811。 |
iso8601-utc | 以ISO-8601格式显示协调世界时(UTC)的时间戳。 例如,在时代开始的纽约:1970-01-01T00:00:00.000Z |
iso8601-local | 以ISO-8601格式显示本地时间的时间戳。 例如,对于纽约在时代的开始:1969-12-31T19:00:00.000-0500 |
systemLog:
component:
accessControl:
verbosity: <int>
command:
verbosity: <int>
......
storage:
verbosity: <int>
journal:
verbosity: <int>
write:
verbosity: <int>
Type: integer
Default: 0
New in version 3.0.
与访问控制相关的组件的日志消息详细程度级别。 请参阅ACCESS组件。
Type: integer
Default: 0
New in version 3.0.
与命令相关的组件的日志消息详细程度级别。 请参见COMMAND组件。
Type: integer
Default: 0
New in version 3.0.
与控制操作有关的组件的日志消息详细程度级别。 请参阅控制组件。
Type: integer
Default: 0
New in version 3.2.
与诊断数据收集操作相关的组件的日志消息详细程度级别。 请参阅FTDC组件。
Type: integer
Default: 0
New in version 3.0.
与地理空间解析操作相关的组件的日志消息详细级别。 见GEO组件。
Type: integer
Default: 0
New in version 3.0.
与索引操作相关的组件的日志消息详细级别。 请参阅INDEX组件。
Type: integer
Default: 0
New in version 3.0.
与网络操作有关的组件的日志消息详细级别。 请参阅NETWORK组件。
Type: integer
Default: 0
New in version 3.0.
与查询操作相关的组件的日志消息详细级别。 查看QUERY组件。
Type: integer
Default: 0
New in version 3.0.
与复制相关的组件的日志消息详细程度级别。 请参阅REPL组件。
Type: integer
Default: 0
New in version 3.0.
与分片相关的组件的日志消息详细程度级别。 请参阅SHARDING组件。
Type: integer
Default: 0
New in version 3.0.
与存储相关的组件的日志消息详细程度级别。 请参阅STORAGE组件。
如果systemLog.component.storage.journal.verbosity未设置,则systemLog.component.storage.verbosity级别也适用于日志组件。
Type: integer
Default: 0
New in version 3.0.
与日志相关的组件的日志消息详细程度级别。 请参阅JOURNAL组件。
如果systemLog.component.storage.journal.verbosity未设置,日志组件具有与父存储组件相同的详细级别:即如果设置为systemLog.component.storage.verbosity级别或默认详细程度级别。
Type: integer
Default: 0
New in version 3.0.
与写入操作相关的组件的日志消息详细程度级别。 请参阅WRITE组件。
processManagement:
fork: <boolean>
pidFilePath: <string>
Type: boolean
Default: False
启用在后台运行mongos或mongod进程的守护程序模式。 默认情况下,mongos或mongod不作为守护进程运行:通常,您将通过使用processManagement.fork或使用处理守护进程的控制进程(例如与upstart和systemd一样)来运行mongos或mongod作为守护程序。
Linux包初始化脚本不希望processManagement.fork从默认值更改。 如果使用Linux软件包并更改processManagement.fork,则必须使用自己的init脚本并禁用内置脚本。
Type: string
指定一个文件位置来保存mongos或mongod进程的进程ID,其中mongos或mongod将会写入其PID。 这可以与--fork选项一起跟踪mongos或mongod进程。 没有指定的processManagement.pidFilePath选项,该进程将不创建PID文件。
net:
port: <int>
bindIp: <string>
maxIncomingConnections: <int>
wireObjectCheck: <boolean>
ipv6: <boolean>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
http:
enabled: <boolean>
JSONPEnabled: <boolean>
RESTInterfaceEnabled: <boolean>
ssl:
sslOnNormalPorts: <boolean> # deprecated since 2.6
mode: <string>
PEMKeyFile: <string>
PEMKeyPassword: <string>
clusterFile: <string>
clusterPassword: <string>
CAFile: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
Type: integer
Default: 27017
MongoDB实例侦听客户端连接的TCP端口。
Type: string
Default: All interfaces.
为了监听来自应用程序的连接,mongos或mongod绑定的IP地址。 您可以将mongos或mongod附加到任何界面。 将mongos或mongod附加到可公开访问的界面时,请确保已实施正确的身份验证和防火墙限制,以保护数据库的完整性。
要绑定到多个IP地址,请输入逗号分隔值的列表。
Type: integer
Default: 65536
mongos或mongod将接受的最大同时连接数。 如果高于操作系统配置的最大连接跟踪阈值,此设置将不起作用。
不要为此选项分配太低的值,否则在正常应用程序操作期间将遇到错误。
如果您有一个客户端创建多个连接并允许它们超时而不是关闭它们,这对于mongos特别有用。
在这种情况下,请将maxIncomingConnections设置为稍高于客户端创建的最大连接数或者连接池的最大大小的值。
此设置可防止mongos在各个碎片上引起连接尖峰。 像这样的尖峰可能会破坏分片集群的操作和内存分配。
Type: boolean
Default: True
如果真的,mongod或mongos实例在接收时验证客户端的所有请求,以防止客户端将错误或无效的BSON插入到MongoDB数据库中。
对于具有高度子文档嵌套的对象,net.wireObjectCheck对性能影响很小。
Type: boolean
Default: False
Removed in version 3.0.
启用或禁用IPv6支持,并允许mongos或mongod使用IPv6网络连接到MongoDB实例。 在MongoDB 3.0之前,您必须指定net.ipv6才能使用IPv6。 在MongoDB 3.0及更高版本中,始终启用IPv6。
net:
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
Type: boolean
Default: True
启用或禁用在UNIX域套接字上侦听。 net.unixDomainSocket.enabled仅适用于基于Unix的系统。
Type: string
Default: /tmp
UNIX套接字的路径。 net.unixDomainSocket.pathPrefix仅适用于基于Unix的系统。
Type: int
Default: 0700
设置UNIX域套接字文件的权限。
net.unixDomainSocket.filePermissions仅适用于基于Unix的系统。
net:
http:
enabled: <boolean>
JSONPEnabled: <boolean>
RESTInterfaceEnabled: <boolean>
Type: boolean
Default: False
Deprecated since version 3.2: HTTP interface for MongoDB
启用或禁用HTTP接口。
保留HTTP接口禁用生产部署。 如果您启用此界面,则只应允许受信任的客户端访问此端口。 请参阅防火墙。
Type: boolean
Default: False
通过HTTP接口启用或禁用JSONP访问。net.http.JSONPEnabled选项启用HTTP接口,即使禁用了HTTP接口选项。
自3.2版本以来已弃用:MongoDB的HTTP接口
net.http.JSONPEnabled设置仅适用于mongod。
Type: boolean
Default: False
启用或禁用简单的REST API。 即使禁用了HTTP接口选项,启用REST API也可以启用HTTP接口,从而可以增加网络暴露。
自3.2版本以来已弃用:MongoDB的HTTP接口
net.http.RESTInterfaceEnabled设置仅适用于mongod。
net:
ssl:
sslOnNormalPorts: <boolean> # deprecated since 2.6
mode: <string>
PEMKeyFile: <string>
PEMKeyPassword: <string>
clusterFile: <string>
clusterPassword: <string>
CAFile: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
https://docs.mongodb.com/v3.2/reference/configuration-options/
security:
keyFile: <string>
clusterAuthMode: <string>
authorization: <string>
javascriptEnabled: <boolean>
sasl:
hostName: <string>
serviceName: <string>
saslauthdSocketPath: <string>
enableEncryption: <boolean>
encryptionCipherMode: <string>
encryptionKeyFile: <string>
kmip:
keyIdentifier: <string>
rotateMasterKey: <boolean>
serverName: <string>
port: <string>
clientCertificateFile: <string>
clientCertificatePassword: <string>
serverCAFile: <string>
Type: string
密钥文件的路径,用于存储MongoDB实例用于在分片集群或副本集中彼此进行身份验证的共享密钥。 keyFile意味着security.authorization.
Type: string
Default: keyFile
New in version 2.6.
用于集群认证的认证模式。 如果使用内部x.509身份验证,请在此指定。 此选项可以具有以下值之一:
Value | Description |
---|---|
keyFile | 使用密钥文件进行身份验证。 只接受密钥文件。 |
sendKeyFile | 为滚动升级目的。 发送密钥文件进行身份验证,但可以接受密钥文件和x.509证书。 |
sendX509 | 为滚动升级目的。 发送x.509证书以进行身份验证,但可以接受密钥文件和x.509证书。 |
x509 | 推荐的。 发送x.509证书以进行身份验证,并仅接受x.509证书。 |
Type: string
Default: disabled
启用或禁用基于角色的访问控制(RBAC)来管理每个用户对数据库资源和操作的访问。
将此选项设置为以下之一:
value | Description |
---|---|
enabled | 用户只能访问已被授予权限的数据库资源和操作。 |
disabled | 用户可以访问任何数据库并执行任何操作。 |
security.authorization设置仅适用于mongod。
Type: boolean
Default: True
启用或禁用服务器端JavaScript执行。 禁用时,不能使用执行JavaScript代码的服务器端执行操作,例如$where查询运算符,mapReduce命令和db.collection.mapReduce()方法,组命令和db.collection.group()方法。
security:
sasl:
hostName: <string>
serviceName: <string>
saslauthdSocketPath: <string>
Type: string
用于配置SASL和Kerberos身份验证的完全限定的服务器域名。 SASL主机名仅覆盖用于SASL和Kerberos配置的主机名。
对于mongo shell和其他MongoDB工具连接到新的hostName,请参阅mongo shell中的gssapiHostName选项等工具。
Type: string
saslauthd的UNIX域套接字文件的路径。
设置MongoDB服务器参数中描述的MongoDB参数或参数
要在YAML配置文件中设置参数,请使用以下格式:
setParameter:
<parameter1>: <value1>
<parameter2>: <value2>
例如,要在配置文件中指定enableLocalhostAuthBypass:
setParameter:
enableLocalhostAuthBypass: false
storage:
dbPath: <string>
indexBuildRetry: <boolean>
repairPath: <string>
journal:
enabled: <boolean>
commitIntervalMs: <num>
directoryPerDB: <boolean>
syncPeriodSecs: <int>
engine: <string>
mmapv1:
preallocDataFiles: <boolean>
nsSize: <int>
quota:
enforced: <boolean>
maxFilesPerDB: <int>
smallFiles: <boolean>
journal:
debugFlags: <int>
commitIntervalMs: <num>
wiredTiger:
engineConfig:
cacheSizeGB: <number>
journalCompressor: <string>
directoryForIndexes: <boolean>
collectionConfig:
blockCompressor: <string>
indexConfig:
prefixCompression: <boolean>
inMemory:
engineConfig:
inMemorySizeGB: <number>
Type: string
Default: /data/db on Linux and OS X, \data\db on Windows
mongod实例存储其数据的目录。
如果您使用软件包管理系统安装MongoDB,请检查软件包提供的/etc/mongod.conf文件,以查看指定的目录。
storage.dbPath设置仅适用于mongod。
Linux包初始化脚本不希望storage.dbPath从默认值更改。 如果使用Linux软件包并更改storage.dbPath,则必须使用自己的init脚本并禁用内置脚本。
Type: boolean
Default: True
指定mongod是否在下次启动时重建不完整的索引。 这种情况适用于在索引生成中间关闭或停止后mongod重新启动的情况。 在这种情况下,mongod总是删除任何不完整的索引,然后,默认情况下,尝试重建它们。 要阻止mongod重建索引,请将此选项设置为false。
storage.indexBuildRetry设置仅适用于mongod。
不适用于使用内存存储引擎的mongod实例。
Type: string
Default: A _tmp_repairDatabase_<num> directory under the dbPath.
MongoDB在--repair操作期间将使用的工作目录。 当--repair完成时,storage.repairPath目录为空,dbPath包含已修复的文件。
storage.repairPath设置仅适用于mongod。
仅适用于使用MMAPv1存储引擎的mongod实例。
Type: boolean
Default: true on 64-bit systems, false on 32-bit systems
启用或禁用durability journal以确保数据文件保持有效和可恢复。 此选项仅适用于指定--dbpath选项时。 默认情况下,mongod可以在2.0之后的64位版本上进行日志记录。
storage.journal.enabled设置仅适用于mongod。
不适用于使用内存存储引擎的mongod实例。
Type: number
Default: 100 or 30
New in version 3.2.
mongod进程在日志操作之间允许的最大时间(毫秒)。 值可以在1到500毫秒的范围内。 较低的值增加了日志的耐久性,牺牲了磁盘性能。 默认日志提交间隔为100毫秒。
在MMAPv1上,如果日志位于与数据文件不同的块设备(例如物理卷,RAID设备或LVM卷)上,则默认日志提交间隔为30毫秒。 另外,在MMAPv1上,当j:true的写入操作挂起时,mongod将会将commitIntervalMs减少到设置值的三分之一。
在WiredTiger上,默认日志提交间隔为100毫秒。 此外,使用j:true写入将导致日志的即时同步。
storage.journal.commitIntervalMs设置仅适用于mongod。
不适用于使用内存存储引擎的mongod实例。
Type: boolean
Default: False
当为true时,MongoDB使用单独的目录来存储每个数据库的数据。 目录位于storage.dbPath目录下,每个子目录名称对应于数据库名称。
在版本3.0中更改:要更改现有部署的storage.directoryPerDB选项,必须使用新的storage.directoryPerDB值和新的数据目录(storage.dbPath值)重新启动mongod实例,然后重新填充数据。
storage.directoryPerDB设置仅适用于mongod。
不适用于使用内存存储引擎的mongod实例。
Type: number
Default: 60
MongoDB通过fsync操作将数据刷新到数据文件之前可以传递的时间量。
不要在生产系统上设置此值。 在几乎每种情况下,您应该使用默认设置。
如果将storage.syncPeriodSecs设置为0,MongoDB将不会将内存映射文件同步到磁盘。
mongod进程将数据快速写入日志,并且懒惰地将数据写入数据文件。 storage.syncPeriodSecs对日志文件或日志记录没有影响。
serverStatus命令通过backgroundFlush字段报告后台flush线程的状态。
storage.syncPeriodSecs设置仅适用于mongod。
不适用于使用内存存储引擎的mongod实例。
Default: wiredTiger
New in version 3.0.
Changed in version 3.2: Starting in MongoDB 3.2, wiredTiger is the default.
mongodb数据库的存储引擎。 可用值包括: