MongoDB的配置文件用于对MongoDB服务进行各种配置和参数设置,以下是对其主要配置项的详细解释:
系统配置
systemLog
destination
:指定日志输出的目标,可以是file
(输出到文件)或syslog
(输出到系统日志)。例如destination: file
表示将日志输出到文件。logAppend
:设置为true
时,日志以追加模式写入,而不是覆盖原有日志文件。如logAppend: true
。path
:当destination
为file
时,用于指定日志文件的路径。例如path: /var/log/mongodb/mongod.log
。
processManagement
fork
:设置为true
时,MongoDB服务将在后台以守护进程方式运行。如fork: true
。pidFilePath
:指定存储mongod
进程ID的文件路径。例如pidFilePath: /var/run/mongodb/mongod.pid
。
网络配置
net
bindIp
:指定MongoDB服务绑定的IP地址,可以是单个IP或多个IP用逗号分隔。如bindIp: 127.0.0.1,192.168.0.100
表示只允许来自这些IP地址的客户端连接。port
:设置MongoDB服务监听的端口号,默认值为27017。例如port: 27018
将使服务在27018端口监听客户端连接。maxIncomingConnections
:设置MongoDB允许的最大并发连接数,默认值因系统而异。如maxIncomingConnections: 1000
将限制最大连接数为1000。
存储配置
storage
dbPath
:指定数据库文件的存储路径。例如dbPath: /data/mongodb
会将数据库文件存储在该目录下。journal
:启用或禁用日志功能,默认是启用的。设置journal.enabled: true
可确保数据的持久性和一致性。engine
:指定存储引擎类型,常见的有wiredTiger
(默认)、mmapv1
等。如engine: wiredTiger
。wiredTiger
:针对wiredTiger
存储引擎的配置选项。engineConfig.cacheSizeGB
:设置wiredTiger
存储引擎的缓存大小,以GB为单位。例如engineConfig.cacheSizeGB: 4
将分配4GB内存作为缓存。
复制与集群配置
replication
replSetName
:指定该MongoDB实例所属的复制集名称。如replSetName: myReplSet
,表示该实例将加入名为myReplSet
的复制集。
sharding
clusterRole
:在分片集群中,用于指定该实例的角色,如shardsvr
(分片服务器)、configsvr
(配置服务器)等。例如clusterRole: shardsvr
将该实例配置为分片服务器。
安全配置
security
authorization
:设置为enabled
时,启用数据库的用户认证功能。如authorization: enabled
,客户端连接数据库时需要提供有效的用户名和密码。keyFile
:指定用于复制集成员之间通信加密的密钥文件路径。例如keyFile: /etc/mongodb/keyfile
,用于确保复制集内数据传输的安全性。
性能与监控配置
operationProfiling
mode
:启用数据库性能分析,可选值有off
(关闭)、slowOp
(记录慢查询)、all
(记录所有查询)。如mode: slowOp
将记录慢查询信息到日志中。slowOpThresholdMs
:定义慢查询的阈值,单位为毫秒。例如slowOpThresholdMs: 100
表示执行时间超过100毫秒的查询将被记录为慢查询。