1-MongoDB - 配置文件一览
before
MongoDB3.6.12
MongoDB目前支持两种配置文件格式,第一种就是普通的key=value
这种格式,跟MySQL一样:
dbpath=F:\mongodb\data # 数据库文件
logpath=F:\mongodb\logs\mongodb.log # 日志文件
logappend=true # 日志采用追加模式,配置后mongodb日志会追加到现有的日志文件,不会重新创建一个新文件
journal=true # 启用日志文件,默认启用
quiet=true # 这个选项可以过滤掉一些无用的日志信息,调试模式下设置为 false
port=27017 # 端口号 默认为 27017
第二种是yaml
格式,而且新版本的MongoDB更推荐使用yaml
格式的配置文件写法,所以,我们这里都以yaml
格式为例。关于yaml
的介绍及语法参考:点我
本篇将列出通用的MongoDB配置。
基础配置
Linux
在MongoDB刚安装后,可以直接拿这一套配置来启动MongoDB:
# 系统日志相关
systemLog:
destination: file # 使用文件存储日志
path: "/data/mongodb/log/mongodb.log" # 日志位置
logAppend: true # 是否以追加的形式记录日志
# 数据相关
storage:
journal: # 回滚日志
enabled: true
dbPath: "/data/mongodb/data" # 数据存储目录
# 进程相关
processManagement:
fork: true # 后台运行
# 网络配置相关
net:
port: 27017 # 默认端口
bindIp: 127.0.0.1,10.0.0.200 # 绑定ip, 多个ip以逗号分隔
Windows
Windows和Linux在进程管理这块的配置不一样,所以,这里列出适用于Windows的初始配置:
# 系统日志相关
systemLog:
destination: file # 使用文件存储日志
path: C:\mongodb\log\mongodb.log # 日志位置
logAppend: true # 是否以追加的形式记录日志
# 数据相关
storage:
journal: # 回滚日志
enabled: true
dbPath: C:\mongodb\data # 数据存储目录
# 进程相关
# processManagement:
# fork: true # 后台运行
# 网络配置相关
net:
port: 27017 # 默认端口
bindIp: 127.0.0.1 # 绑定ip, 多个ip以逗号分隔
注意,上面配置中的路径不能用双引号引起来,否则无法启动服务。
更多配置
本小节则介绍关于MongoDB的更多的配置选项的作用:
# 系统日志相关
systemlog:
destination: file # 使用文件存储日志
path: "/data/mongodb/log/mongodb.log" # 日志位置
logAppend: true # 是否以追加的形式记录日志
# 数据相关
storage:
journal: # 回滚日志
enabled: true
dbPath: "/data/mongodb/data" # 数据存储目录
wiredTiger: # MongoDB3.0以后的默认存储引擎
engineConfig: # 存储引擎配置
cacheSizeGB: 1 # 缓存大小
directoryForIndexes: true # 默认为false,当为true时,每个库都单独存储在数据目录内的子目录内
collectionConfig:
blockCompressor: zlib # 开启压缩模式
indexConfig:
prefixCompression: true
# 进程相关
processManagment:
fork: true # 后台运行
# pidFilePath: "/data/mongodb/mongodb.pid" # 指定pid文件的存储位置,这里选择让系统自动创建
# 网络配置相关
net:
port: 27017 # 默认端口
bindIp: 127.0.0.1,10.0.0.200 # 绑定ip, 多个ip以逗号分隔
# 安全配置相关
# 当开启该配置时,登录需要用户认证,如果你没有可用的用户,请勿配置该参数
security:
authorization: enabled # 是否打开用户名密码验证
# 复制集相关配置
replication:
oplogSizeMB: 2048 # 复制日志的大小
replSetName: my_repl # 复制集的名称,自己定义
集群配置
当你要配置集群的时候,请拿走下面这套配置:
that's all, see also: