最近在扫盲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>