最近在扫盲MongoDB 4.2 的相关知识点,顺便记录下日常的一些操作。包括:用户管理、索引管理、引擎管理、副本集管理、分片管理等。本文对MongoDB的用户管理进行说明,以前有针对MogoDB 3.0的用户管理进行过说明:MongoDB 3.0 用户创建

本文MongoDB的配置文件模板:

systemLog:
   verbosity: 0
   quiet: false
   traceAllExceptions: false
   syslogFacility: user
   path: /data/mongodb/logs/mongodb.log
   logAppend: true
   logRotate: rename
   destination: file
   timeStampFormat: iso8601-local
   component:
      accessControl:
         verbosity: 0
      command:
         verbosity: 0
      control:
         verbosity: 0
      ftdc:
         verbosity: 0
      geo:
         verbosity: 0
      index:
         verbosity: 0
      network:
         verbosity: 0
      query:
         verbosity: 0
      replication:
         verbosity: 0
         election:
            verbosity: 0
         heartbeats:
            verbosity: 0
         initialSync:
            verbosity: 0
         rollback:
            verbosity: 0
      sharding:
          verbosity: 0
      storage:
         verbosity: 0
         journal:
            verbosity: 0
         recovery:
            verbosity: 0
      transaction:
         verbosity: 0
      write:
         verbosity: 0

processManagement:
   fork: true
   pidFilePath: /data/mongodb/data/mongodb.pid
#   timeZoneInfo: <string>

net:
   port: 27017
   bindIp: 0.0.0.0
   maxIncomingConnections: 65536
   wireObjectCheck: true
   ipv6: false
   unixDomainSocket:
      enabled: true
      pathPrefix: /tmp
      filePermissions: 0700
   tls:
      mode: disabled
   compression:
      compressors: snappy,zstd,zlib
   serviceExecutor: synchronous

#security:
#   keyFile: <string>
#   clusterAuthMode: keyFile
#   authorization: enabled
#   transitionToAuth: false
#   javascriptEnabled: true
#   redactClientLogData: <boolean>
#   clusterIpSourceWhitelist:
#     - 127.0.0.1
#     - ::1

storage:
   dbPath: /data/mongodb/data/
   indexBuildRetry: true
   journal:
      enabled: true
      commitIntervalMs: 500
   directoryPerDB: true
   syncPeriodSecs: 60
   engine: wiredTiger
   wiredTiger:
      engineConfig:
#         cacheSizeGB: <number>
         journalCompressor: snappy
         directoryForIndexes: false
operationProfiling:
   # 指定应分析哪些操作,默认off:分析器已关闭,并且不收集任何数据;slowOp:收集比slowms的时间长的数据;all:收集所有操作的数据
   mode: slowOp
   slowOpThresholdMs: 100
   slowOpSampleRate: 1

replication:
   # 复制日志(oplog)的最大大小(以M为单位),仅适用于mongod。操作日志通常是可用磁盘空间的5%,更改正在运行的副本集成员的操作日志大小,请使用replSetResizeOplog管理命令。
   oplogSizeMB: 100
   # replSetName: <string>

#sharding:
   # 分片群集中扮演的角色,可选值configsvr:配置服务器,端口27019开始;shardsvr:分片,端口27018开始;需要将实例部署为副本集成员,使用replSetName设置并指定副本集的名称,仅适用于mongod。
   # clusterRole: <string>
   # configDB: <string>
View Code

相关文章: