mongo配置文件

下面描述的配置信息在MongoDB3.4版本中可用。只介绍常用的配置,不常用的以后遇到再添加。

配置文件

在使用mongod和mongos命令启动的时候,你可以使用这个配置文件。这个配置文件包含的内容和mongod和mongos的命令行参数是相同的。使用配置文件来管理mongod和mongos命令更加简单,方便,尤其在大范围部署的时候。你也可以添加注释来解释服务器的配置。

文件格式

MongoDB2.6版本之后,改变为使用YAML格式。下面这个配置包含了几个mongod命令的设置,你可以尝试应用到自己的本地配置中。

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来指定配置文件。像下面这样:

mongod --config /etc/mongod.conf
mongos --config /etc/mongos.conf 
mongod -f /etc/mongod.conf
mongos -f /etc/mongos.conf

核心配置

systemLog选项

实例如下:

systemLog:
   verbosity: <int>
   quiet: <boolean>
   traceAllExceptions: <boolean>
   path: <string>
   logAppend: <boolean>
   logRotate: <string>
   destination: <string>
   timeStampFormat: <string>
   component:
      accessControl:
         verbosity: <int>
      command:
         verbosity: <int>
systemLog.verbosity
  • 类型:integer
  • 默认值:0

此选项表示日志信息的冗余水平。冗余水平决定了mongo日志输出的多少,可设置为0-5。如果要指定不同组件的日志冗余水平,就要分别指定,格式为: systemLog.component.(name).verbosity

systemLog.quiet
  • 类型:boolean

quiet模式限制了日志输出的数量。生产环境下不建议使用quiet模式,这会使得跟踪问题变得很困难。

systemLog.traceAllExceptions
  • 类型:boolean

为调试打印多余的信息,这些多余的信息有利于我们排除故障。

systemLog.path
  • 类型:string
    mongod和mongos命令启动后会发送日志,到这个选项指定的文件中。
systemLog.logAppend
  • 类型:boolean
    如果指定为true,那么重新启动mongo后,日志会在原来的文件中追加。如果指定为false,则会覆盖之前的日志文件。
systemLog.logRotate
  • 类型:string
  • 默认:rename
    为了防止日志文件过大,此选项可指定rename和reopen。
    rename使用时间戳重新命名旧的日志文件,新日志发送到新建的日志文件中。
    reopen是关闭并重新打开日志文件。是典型的Linux/Unix的日志切换行为.必须手动重命名日志文件。
systemLog.destination
  • 类型:string
    日志的目标,可指定为file或者syslog。指定为file时也必须指定systemLog.path。如果不指定就是标准输出。
systemLog.timeStampFormat
  • 类型:string
  • 默认:iso8601-local
    时间戳格式,可指定为ctime,iso8601-utc,iso8601-local.
systemLog.component

mongo把日志分为了多个组件,我们可以分别指定这些组件的冗余水平。

组件说明举例
accessControl访问控制日志比如验证
command命令日志比如调用count方法
control控制日志比如初始化
control控制日志比如初始化
ftd统计和状态日志
GEOJSON结构
index索引日志比如创建索引
network网络日志比如接收到连接
query查询日志比如find
replication副本日志比如同步心跳
sharding分片日志比如启动mongos
storage存储日志比如执行fsync命令。有一个子模块journal,如果journal不指定则默认是storage水平。
write写日志比如update
processManagement选项
processManagement:
   fork: <boolean>
   pidFilePath: <string>
processManagement.fork
  • 类型:boolean

指定为true是damon模式运行。通常情况下我们都指定为true。

processManagement.pidFilePath
  • 类型:string

mongo进程的pid文件

net选项

net选项有很多个,我们只介绍常用的。

net:
   port: <int>
   bindIp: <string>
   maxIncomingConnections: <int>
   wireObjectCheck: <boolean>
net.port
  • 类型:integer
  • 默认:27017

mongo实例监听的TCP端口。

net.bindIp
  • 类型:string
  • 默认:所有接口

一般指定为127.0.0.1。如果要指定多个地址,需要用逗号分开。

net.maxIncomingConnections
  • 类型:integer
  • 默认:65536

最大连接数,如果设置的数大于操作系统可接受的连接数,那么不生效。不要设置的值太小,否则在正常操作下也会产生错误。

net.wireObjectCheck
  • 类型:boolean
  • 默认:True

检测写入mongo数据的格式,如果格式错误则阻止写入。

security 选项
security:
   authorization: <string>
   javascriptEnabled:  <boolean>
security.authorization
  • 类型:string

是否需要验证,可以设置为enabled和disabled

security.javascriptEnabled
  • 类型:boolean
  • 默认:True

是否支持js。

storage选项
storage.dbPath
  • 类型:string

指定数据库文件的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值