mongoDB-配置文件


MongoDB的配置文件用于对MongoDB服务进行各种配置和参数设置,以下是对其主要配置项的详细解释:

系统配置

  • systemLog
    • destination:指定日志输出的目标,可以是file(输出到文件)或syslog(输出到系统日志)。例如destination: file表示将日志输出到文件。
    • logAppend:设置为true时,日志以追加模式写入,而不是覆盖原有日志文件。如logAppend: true
    • path:当destinationfile时,用于指定日志文件的路径。例如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毫秒的查询将被记录为慢查询。