MongoDB4.0配置说明
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/
systemLog
systemLog官方文档地址
:https://docs.mongodb.com/manual/reference/configuration-options/#security-options
1 | systemLog: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
verbosity |
int |
0 |
默认的日志信息 冗长级别的组件。详细级别确定MongoDB输出的信息和调试消息的数量。 详细程度可以 0 是5 :0是MongoDB的默认日志详细级别,包括 信息性消息。 1到5增加详细级别,以包括 调试消息。 日志详细级别。 建议:使用默认值就可以了 |
quiet |
boolean |
运行mongos 或``mongod`处于安静模式,试图限制输出量。不建议用于生产系统,因为它可以使在特定的连接变得更加困难跟踪问题 |
|
traceAllExceptions |
boolean |
打印详细信息以进行调试。用于支持相关故障排除的其他日志记录。 | |
syslogFacility |
string |
user |
将mongodb使用日志记录到系统日志中,如果要使用这个选项,必须设置systemLog.destination 为syslog 。 |
path |
string |
日志文件的路径,而不是标准输出或主机的syslog | |
logAppend |
boolean |
false |
当mongod 或mongos 重启时,如果为true ,将日志追加到原来日志文件内容末尾;如果为false ,将创建一个新的日志文件 |
logRotate |
string |
rename |
可选项rename 和reopen 1. rename :重命名日志文件。2. reopen :按照典型的Linux / Unix日志轮换行为关闭并重新打开日志文件,以避免日志的损失,这个选项必须设置systemLog.logAppend 为true 。 |
destination |
string |
MongoDB发送所有日志输出的目标。指定 file 或syslog 。如果指定file ,则还必须指定systemLog.path 。建议:使用 file |
|
timeStampFormat |
string |
iso8601-local |
日志消息中时间戳的时间格式。 1. ctime :将时间戳显示为: Wed Dec 31 18:17:54.811 2. iso8601-utc :格式显示:1970-01-01T00:00:00.000Z 3. iso8601-local :格式显示:1969-12-31T19:00:00.000-0500 |
component.accessControl.verbosity |
int |
0 |
与访问控制相关的组件的日志消息详细级别 建议:使用默认值 |
component.command.verbosity |
int |
0 |
与命令相关的组件的日志消息详细级别 建议:使用默认值 |
processManagement
processManagement
文档地址: https://docs.mongodb.com/manual/reference/configuration-options/#processmanagement-options
1 | processManagement: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
fork |
boolean |
false |
是否启用在后台运行mongos或mongod处理的守护程序模式 |
pidFilePath |
string |
指定一个文件位置来保存的进程ID将mongos或mongod将写入其PID | |
timeZoneInfo |
string |
加载时区数据库的完整路径。如果未提供此选项,则MongoDB将使用其内置时区数据库 |
cloud
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#cloud-options
1 | cloud: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
free.state |
string |
runtime |
runtime :可以在运行时启用或禁用监控on :启动监控off :禁用监控 |
free.tags |
string |
用于描述环境上下文的可选标记 |
net
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#net-options
1 | net: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
port |
int |
27017 | 设置mongodb的访问端口 |
bindIp |
string |
127.0.0.1 |
设置mongodb服务器监听ip地址,默认是127.0.0.1;如果监听多个ip地址,使用逗号隔开 |
bindIpAll |
boolean |
false |
是否允许所有ip访问数据库 |
maxIncomingConnections |
int |
65536 | 最大并发链接数 |
wireObjectCheck |
boolean |
True |
是否在收到客户端时验证所有请求,以防止客户端将格式错误或无效的BSON插入MongoDB数据库 |
ipv6 |
boolean |
false |
开启或关闭支持ipv6地址 |
unixDomainSocket.enabled |
boolean |
true |
启用或禁用UNIX域套接字上的侦听 |
unixDomainSocket.pathPrefix |
string |
/tmp |
UNIX套接字的路径 |
unixDomainSocket.filePermissions |
int |
0700 | 设置UNIX域套接字文件的权限 |
ssl.sslOnNormalPorts |
boolean |
不推荐使用,为mongos或启用或禁用TLS / SSL | |
ssl.certificateSelector |
string |
指定证书属性 1. subject :ASCII字符串2. thumbprint: 十六进制字符 |
|
ssl.clusterCertificateSelector |
string |
指定证书属性 1. subject :ASCII字符串2. thumbprint: 十六进制字符 |
|
ssl.mode |
string |
启用或禁用用于所有网络连接的TLS / SSL或混合TLS / SSL 1. disabled : 服务器不使用TLS / SSL。2. allowSSL :服务器之间的连接不使用TLS / SSL。对于传入连接,服务器接受TLS / SSL和非TLS /非SSL。3. preferSSL :服务器之间的连接使用TLS / SSL。对于传入连接,服务器接受TLS / SSL和非TLS /非SSL。4. requireSSL :服务器仅使用和接受TLS / SSL加密连接。 |
|
ssl.PEMKeyFile |
string |
可以使用操作系统安全存储中的证书而不是PEM密钥文件 | |
ssl.PEMKeyPassword |
string |
用于解密证书密钥文件的密码(PEMKeyFile ) |
|
ssl.clusterFile |
string |
使用操作系统安全存储中的证书而不是PEM密钥文件 | |
ssl.clusterPassword |
string |
用于解密指定的x.509证书密钥文件的密码(clusterFile ) |
|
ssl.CAFile |
string |
.pem 包含证书颁发机构的根证书链的文件。.pem 使用相对路径或绝对路径指定文件的文件名 |
|
ssl.clusterCAFile |
string |
.pem 包含证书颁发机构的根证书链的文件.用于验证由建立连接的客户端提供的证书。 .pem 使用相对路径或绝对路径指定文件的文件名。 |
|
ssl.CRLFile |
string |
.pem 包含证书吊销列表的文件。.pem 使用相对路径或绝对路径指定文件的文件名 |
|
ssl.allowConnectionsWithoutCertificates |
boolean |
建立连接时是否绕过TLS / SSL证书验证 | |
ssl.allowInvalidCertificates |
boolean |
启用或禁用群集中其他服务器上的TLS / SSL证书的验证检查,并允许使用无效证书进行连接 | |
ssl.allowInvalidHostnames |
boolean |
false |
启用或禁用TLS / SSL证书的主机名的验证 |
ssl.disabledProtocols |
string |
接受使用特定协议的传入连接。要指定多个协议,请使用逗号分隔的协议列表TLS1_0`,`TLS1_1`, `TLS1_2 |
|
ssl.FIPSMode |
boolean |
启用或禁用使用TLS / SSL库的FIPS模式 | |
``compression.compressors` | string |
snappy |
实例之间通信的数据压缩器 1. snappy 2. zilb |
serviceExecutor |
string |
synchronous |
synchronous :使用同步网络和管理上的每个连接其网络的线程池adaptive :使用异步网络和管理上的每个连接其网络的线程池 |
- 注意点:PEMKeyFile和clusterFile只能选择一个
security
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#security-options
1 | security: |
security.keyFile
类型:
string
作用:密钥文件的路径,用于存储MongoDB实例用于在分片集群或副本集中相互进行身份验证的共享密钥
security.clusterAuthMode
类型:
string
作用:用于群集身份验证的身份验证模式
值 作用 keyFile
使用密钥文件进行身份验证。只接受密钥文件。 sendKeyFile
发送密钥文件进行身份验证,但可以接受密钥文件和x.509证书。 sendX509
发送x.509证书进行身份验证,但可以接受密钥文件和x.509证书。 x509
(推荐) 发送x.509证书以进行身份验证,并仅接受x.509证书 如果使用x.509身份验证,–sslCAFile或ssl.CAFile 必须指定,除非使用–sslCertificateSelector
security.authorization
类型:
string
默认值:
disabled
作用:启用或禁用基于角色的访问控制(RBAC)以管理每个用户对数据库资源和操作的访问
值 作用 enabled
用户只能访问已被授予权限的数据库资源和操作。 disabled
用户可以访问任何数据库并执行任何操作。
setParameter
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#setparameter-option
1 | setParameter: |
storage
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#storage-options
1 | storage: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
dbPath |
string |
/data/db |
设置数据存储文件目录 |
indexBuildRetry |
boolean |
true |
开启或关闭是否在mongod下次启动重建不完整的索引 在in-memory存储引擎下不可用 |
repairPath |
string |
在dbpath 下的A _tmp_repairDatabase_<num> 文件目录 |
为进行恢复操作指定目录 注意:仅仅在MMAPv1存储引擎下可用 |
journal.enabled |
boolean |
true (64-bit系统);false (32-bit系统) |
开启和关闭journal,为了保证数据文件的有效性和可恢复性;在设置了dbpath之后有效 在in-memory存储引擎下不可用 |
journal.commitIntervalMs |
int |
100或30 | 在MMAPv1上,如果日志与数据文件位于不同的块设备(例如,物理卷,RAID设备或LVM卷)上,则默认日志提交间隔为30毫秒 在WiredTiger上,默认日志提交间隔为100毫秒。 |
directoryPerDB |
boolean |
false |
mongodb是否为每个数据库建立一个单独的路径,这个路径是在dbpath下创建的 |
engine |
string |
wiredTiger |
数据存储引擎 1. wiredTiger 2. inMemory :内存存储引擎3. mmapv1 :不推荐使用 |
wiredTiger.engineConfig.cacheSizeGB |
float |
WiredTiger将用于所有数据的内部缓存的最大大小 使用默认值就行 |
|
wiredTiger.engineConfig.journalCompressor |
string |
snappy |
用于压缩WiredTiger日志数据的压缩类型 |
wiredTiger.collectionConfig.blockCompressor |
string |
snappy |
用于压缩集合数据的压缩类型 |
wiredTiger.indexConfig.prefixCompression |
boolean |
true |
启用或禁用索引数据的前缀压缩。 |
inmemory.engineConfig.inMemorySizeGB |
float |
物理内存的50%-1GB | 设置缓冲区大小 |
operationProfiling
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#operationprofiling-options
1 | operationProfiling: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
mode |
string |
off |
|
slowOpThresholdMs |
int |
100 | 设置区分慢查询的一个阈值,比如100,当查询速度大于100ms,记录到日志中 |
slowOpSampleRate |
double |
1.0 | 应分析或记录的慢速操作部分 |
replication
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#replication-options
1 | replication: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
oplogSizeMB |
int | 设置复制日志文件的大小; | |
replSetName |
string | 副本集的名称。副本集中的所有主机必须具有相同的副本集名称 | |
secondaryIndexPrefetch |
string | all |
|
enableMajorityReadConcern |
boolean | true |
sharding
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#sharding-options
1 | sharding: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
clusterRole |
string |
设置分片集群中的角色 1. configsvr :作为配置服务器,默认端口270192. shardsvr :作为一个分片,默认端口27018 |
|
archiveMovedChunks |
boolean |
false |
在块迁移期间,分片是否保存从分片迁移的文档 |
auditLog
官方文档地址:https://docs.mongodb.com/manual/reference/configuration-options/#auditlog-options
1 | auditLog: |
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
destination |
string |
审计日志位置syslog :JSON文件格式输出在系统日志中,window系统中不可用console :JSON格式输出file :输出到文件 |
|
format |
format |
设置设计日志输出格式;可用值:JSON/BSON | |
path |
path |
设计日志输出文件路径 | |
filter |
filter |
审计日志过滤器 |