mongdb配置文件一详解

继上篇mongdb配置文件,今天我们详细了解一下每个配置的意义所在:

1. systemLog
systemLog.verbosity 
integer
日志文件输出的级别,越大级别越低。
systemLog.quite
boolean
在quite模式下会限制输出信息:数据库命令输出,副本集活动,连接接受事件,连接关闭事件。
systemLog.traceAllExceptions 
string
打印verbose信息来调试,用来记录证额外的异常日志。
systemLog.syslogFacility
string,默认为user
指定syslog日志信息的设备级别。需要指定--syslog来使用这个选项。
systemLog.path 
string
发送所有的诊断信息日志,默认重启后会覆盖。
systemLog.logAppend
boolean
是否启用追加日志。
systemLog.destination
string
指定一个文件或syslog。如果指定为文件,必须同时指定systemLog.path
systemLog.timeStampFormat
string,默认为iso8601-local
日志信息中的时间戳格式:ctime,iso8601-utc,iso8601-local
2. processManagement
processManagement.pidFilePath
string
指定进程的ID,与--fork配合使用,不指定则不会创建。
processManagement.fork
boolean,默认为false
是守护进程在后台运行。
3. net
net.port
interger,默认为27017
mongodb实例监听的端口号。
net.bindIp
string,2.6版本默认为127.0.0.1
指定mongodb实例绑定的ip,为了绑定多个ip,可以使用逗号分隔。
net.maxIncomingConnections
integer 默认为1000000
mongodb实例接受的最多连接数,如果高于操作系统接受的最大线程数,设置无效。
net.wireObjectCheck
boolean,默认为true
检查文档的有效性。会稍微影响性能。
net.http.enabled
boolean,默认为false
打开http端口,会导致更多的不安全因素。
net.unixDomainSocket.enabled
boolean,默认为false
停止UNIX domain socket监听。mongodb实例会一直监听UNIXsocket,除非net.unixDomainSocket.enabled设置为true,bindIp没有设置,bindIp没有默认指定为127.0.0.1。
net.unixDomainSocket.pathPrefix
string,默认为/tmp
unix Socket所在的路径。
net.ipv6
boolean,默认为false
打开IPV6功能,默认为关闭的。
net.http.JSONPEnabled
boolean,默认为false
运行json访问http端口,打开会导致更多的不安全因素。
net.http.RESTInterfaceEnabled
boolean,默认为false
即使http接口选项关闭,打开也会暴露http接口,会导致更多的不安全因素。
4. security
security.keyFile
string
指定分片集或副本集成员之间身份验证的key文件存储位置。
security.clusterAuthMode
string
集群认证中利用到这个模式,如果使用x.509安全机制,可以在这里指定。keyFile,sendKeyFile,sendX509,x509
默认的mongodb发行版是不支持ssl的,可以使用专业版的或重新自行编译mongodb。
security.authorization
string,默认为disabled
打开访问数据库和进行操作的用户角色认证。enabled,disabled
5. operationProfiling
operationProfiling.slowOpThresholdMs
integer,默认100
指定慢查询时间,单位毫秒,如果打开功能,则向system.profile集合写入数据。
operationProfiling.mode
integer,默认0
改变分析日志输出级别。0,1,2,分别对应关闭,仅打开慢查询,记录所有操作。
6. storage
storage.dbPath
string
指定数据文件的路径。
storage.directoryPerDB
boolean,默认关闭
指定存储每个数据库文件到单独的数据目录。如果在一个已存在的系统使用该选项,需要事先把存在的数据文件移动到目录。
storage.indexBuildRetry
boolean,默认为true
指定数据库在索引建立过程中停止,重启后是否重新建立索引。
storage.preallocDataFiles
boolean,默认true
是否预先分片好数据文件。
storage.nsSize
integer,默认16
指定命名空间的大小,即.ns后缀的文件。最大为2047MB,16M文件可以提供大约24000个命名空间。
storage.quota.enforced
boolean,默认false
限制每个数据库的数据文件数目。可以通过maxFilesPerDB调整数目。
storage.quota.maxFilesPerDB
integer,默认为8
限制每个数据库的数据文件数目。
storage.smallFiles
boolean,默认为false
限制mongodb数据文件大小为512MB,减小journal文件从1G到128M,适用于有很多数量小的数据文件。
storage.syncPeriodSecs
number,默认60
mongodb文件刷新频率,尽量不要在生产环境下修改。
storage.repairPath
string,默认为指定dbpath下的_tmp目录。
指定包含数据文件的根目录,进行--repair操作。
storage.journal.enabled
boolean,默认64bit为true,32bit为false
记录操作日志,防止数据丢失。
storage.journal.debugFlags
integer
提供数据库在非正常关闭下的功能测试。
storage.journal.commitIntervalMs
number,默认为100或30
journal操作的最大间隔时间。可以是2-300ms之间的值,低的值有助于持久化,但是会增加磁盘的额外负担。
如果journal和数据文件在同一磁盘上,默认为100ms。如果在不同的磁盘上为30ms。
如果强制mongod提交日志文件,可以指定j:true,指定后,时间变为原来的三分之一。
7. replication
replication.oplogSizeMB
integer,默认为磁盘的5%
指定oplog的最大尺寸。对于已经建立过oplog.rs的数据库,指定无效。
replication.replSetName
string
指定副本集的名称。
replication.secondaryIndexPrefetch
string,默认为all
指定副本集成员在接受oplog之前是否加载索引到内存。默认会加载所有的索引到内存。none,不加载;all,加载所有;_id_only,仅加载_id。
8. sharding
sharding.clusterRole
string
指定分片集的mongodb角色。configsvr,配置服务器,端口27019;shardsvr,分片实例,端口27018。
sharding.archiveMovedChunks
integer
在块移动过程中,该选项强制mongodb实例保存所有移动的文档到moveChunk目录。
9. auditLog
auditLog.destination
string
syslog,以json格式保存身份验证到syslog,windows下不可用,serverity级别为info,facility级别为user。
console,以json格式输出信息到标准输出。
file,以json格式输出信息到文件。
auditLog.format
string
指定输出文件的格式JSON,输出json格式文件;BSON,输出bson二进制格式文件。
auditLog.path
string
如果--auditDestination的值为file,则该选项指定文件路径。
auditLog.filter
document
指定过滤系统身份验证的格式为:
{ atype : <expression> }
{ atype: <expression>, "param.db": <database> }
10. snmp
snmp.subagent
boolean
运行SNMP为一个子代理。
snmp.master
boolean
运行SNMP为一个主进程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章