以下的描述是MongoDB3.4配置文件,对于其它版本的MongoDB配置文件选项,请参考对应的版本。
配置文件
使用配置文件管理mongod和mongos管理更容易,特别是大规模的部署,你可以向配置文件添加注释来解释服务器的配置。
如果你已经安装了一个安装包并且已经启动了MongoDB,并且使用系统初始化那么你已经使用了配置文件。
文件格式
从MongoDB2.6开始推荐一种基于YAML格式的配置文件,并且仍然兼容之前的配置文件。
MongoDB使用YAML配置文件格式。
下面的配置文件包含多个Mongod配置适用于本地配置
注:YAML不支持缩进制表符(tab)可以适用空格来代替
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
setParameter:
enableLocalhostAuthBypass: false
... 适用配置文件
适用配置文件启动mongod和mongos,指定配置文件使用--config 选项或者--f选项,请看下面的例子:
下面的例子使用--config选项来启动mongod和mongos
mongod --config /etc/mongod.conf
mongos --config /etc/mongos.conf 你也可以适用--f别名来指定选项,如下:
mongod -f /etc/mongod.conf
mongos -f /etc/mongos.conf 如果你已经安装了MongoDB安装包那么说明你已经使用了系统初始化脚本,那么你已经开始使用配置文件了
核心选项
systemLog选项
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>
systemlog.verbosity
类型:integer
默认值:0
从3.0版本
组件的默认日志级别,详细的级别决定着MongoDB输出日志的信息和debug信息量
详细级别的范围可以从0到5
0是MongoDB的默认日志详细等级,包括信息消息
1到5包含到调试信息的详细等级
systemLog.quiet
类型:boolean
运行mongod和mongos在一个安静的模式尝试限制日志的输出量
在生产环境中不推荐使用systemLog.quiet安静模式,由于它很难跟踪特定连接所出现的问题
systemLog.traceAllExceptions
类型:boolean
打印调试详细信息,用于支持相关故障的排除附加日志记录
systemLog.syslogFacility
类型:字符串
默认值:user
你指定的值必须由你的操作系统实现支持syslog,使用这个选项,你必须启动--syslog日志选项
systemLog.path
类型:string
mongod和mongos发送诊断的日志信息的路径,而不是标准的输出或者主机的syslog,MongDB会在指定的路径下创建日志文件
systemLog.logAppend
类型:boolean
默认值:False
当值为true时,mongod和mongos重启后会将新的日志信息加入到已经存在的日志文件中,如果为false,将会备份原有的日志文件并且创建新的日志文件
systemLog.logRotate
类型:string
默认值:rename
logRotate命令指定rename和reopen
rename重命名日志文件
reopen关闭和重新打开日志文件,如果使用reopen你必须设置sysLog.logAppend为true
sysLog.destination
类型:字符串
MongoDB输出的所有日志的目的地,指定file或者syslog,如果你指定file你必须指定sysLog.path
如果你不指定sysLog.destination,MongoDB会将所有的日志输出到标准输出中
sysLog.timeStampFormat
类型:string
默认值:iso8601-local
在日志消息的时间戳的时间格式。指定下列值之一:
Value | Description |
| Displays timestamps as |
| Displays timestamps in Coordinated Universal Time (UTC) in theISO-8601 format. For example, for New York at the start of theEpoch: |
| Displays timestamps in local time in the ISO-8601format. For example, for New York at the start of the Epoch: |
net选项
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>
compression:
compressors: <string> net.port
类型:integer
默认值:27017
MongoDB实例监听客户端连接的端口号
net.bindIp
类型:string
默认值:所有接口
















