在前面的教程中,我们已经讨论了如何启动 MongoDB 服务,你只需要执行 MongoDB 安装目录的 bin 目录下的 mongod 命令即可。
执行启动操作后,MongoDB 在输出一些必要的启动信息后就不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。
mongod 是 MongoDB 数据库的守护进程,用于启动 MongoDB 服务器。运行 mongod --help 命令,可以查看 mongod 命令的详细使用信息,如下:
C:UsersAdministrator> mongod --help
选项:
--networkMessageCompressors arg (=snappy,zstd,zlib) 以逗号分隔的网络信息压缩器列表
一般选项:
-h [ --help ] 显示帮助信息
--version 显示版本信息
-f [ --config ] arg 指定附加选项的配置文件
--configExpand arg 配置文件中的进程扩展指令(none, exec, rest)
--port arg 指定端口号 - 默认为 27017
--ipv6 启用 IPv6 支持(默认禁用)
--listenBacklog arg (=2147483647) 设置套接字侦听 backlog 大小
--maxConns arg (=1000000) 最大同时连接数
--pidfilepath arg pidfile 的完整路径(如果未设置,则不会创建 pidfile)
--timeZoneInfo arg 时区信息目录的完整路径,例如 /usr/share/zoneinfo
-v [ --verbose ] [=arg(=v)] 更详细信息(包括多次以更详细,例如 -vvvvvv)
--quiet 安静模式
--logpath arg 要发送写入的日志文件而不是 stdout - 必须是文件,而不是目录
--logappend 追加到日志路径而不是覆盖
--logRotate arg 设置日志轮换行为(rename|reopen)
--timeStampFormat arg 日志消息中时间戳的所需格式。ISO8601-UTC 或 ISO8601-local 之一
--setParameter arg 设置可配置参数
--bind_ip arg 要侦听的 IP 地址的逗号分隔列表 - 默认情况下为本地主机
--bind_ip_all 绑定到所有 IP 地址
--noauth 在没有安全性的情况下运行
--transitionToAuth 用于滚动访问控制升级。尝试通过传出连接进行身份验证,无论是否成功,都继续。接受带或不带身份验证的传入连接。
--slowms arg (=100) 配置文件和控制台日志的慢值
--slowOpSampleRate arg (=1) 纳入配置文件和控制台日志的慢速运行比例
--profileFilter arg 用于控制记录和分析哪些操作的查询谓词
--auth 安全运行
--clusterIpSourceAllowlist arg “__system”访问的允许来源的网络 CIDR 规范
--profile arg 0=off 1=slow, 2=all
--cpu 定期显示 CPU 和 iowait 利用率
--sysinfo 打印一些诊断系统信息
--noscripting 禁用脚本引擎
--notablescan 不允许表扫描
--keyFile arg 用于群集身份验证的私钥
--clusterAuthMode arg 用于群集身份验证的身份验证模式。替代方法是(keyFile|sendKeyFile|sendX509|x509)复制选项:
--oplogSize arg 复制操作日志使用的大小(以 MB 为单位)。默认为磁盘空间的 5%(即越大越好)。复制集选项:
--replSet arg arg is <setname>[/<optionalseedhostlist>]
--enableMajorityReadConcern [=arg(=1)] (=1) Enables majority readConcern. enableMajorityReadConcern=false is no longer supported分片选项:
--configsvr 声明这是一个群集的配置数据库;默认端口 27019;默认目录 /data/configdb
--shardsvr 声明这是一个群集的分片数据库;默认端口 27018存储选项:
--storageEngine arg 使用什么存储引擎--如果没有数据文件,默认为 wiredTiger
--dbpath arg 数据文件的目录 - 默认为 C:datadb,基于当前工作驱动器
--directoryperdb 每个数据库都将存储在单独的目录中
--syncdelay arg (=60) 磁盘同步间隔秒数
--journalCommitInterval arg (=100) 分组/批量提交的频率(毫秒)
--upgrade 必要时升级数据库
--repair 对所有数据库运行修复
--journal 启用日志功能
--nojournal 禁用日志功能(64 位默认开启日志功能)
--oplogMinRetentionHours arg (=0) 保存在 oplog 中的最少小时数。默认为 0(关闭)。允许使用分数(如 1.5 小时)TLS 选项:
--tlsOnNormalPorts 在配置的端口上使用 TLS
--tlsMode arg 设置 TLS 运行模式(disabled|allowTLS|preferTLS|requireTLS)
--tlsCertificateKeyFile arg TLS 证书和密钥文件
--tlsCertificateKeyFilePassword arg TLS 证书密钥文件中解锁密钥的密码
--tlsClusterFile arg 用于内部 TLS 验证的密钥文件
--tlsClusterPassword arg 内部认证密钥文件密码
--tlsCAFile arg TLS 证书授权文件
--tlsClusterCAFile arg 用于在入站连接时验证远程的 CA
--tlsCRLFile arg TLS 证书吊销列表文件
--tlsDisabledProtocols arg 以逗号分隔的要禁用的 TLS 协议列表 [TLS1_0,TLS1_1,TLS1_2,TLS1_3]
--tlsAllowConnectionsWithoutCertificates 允许客户端在不出示证书的情况下进行连接
--tlsAllowInvalidHostnames 允许服务器证书提供不匹配的主机名
--tlsAllowInvalidCertificates 允许连接到证书无效的服务器
--tlsFIPSMode 启动时激活 FIPS 140-2 模式
--tlsCertificateSelector arg 系统存储的 TLS 证书
--tlsClusterCertificateSelector arg 系统存储中的 SSL/TLS 证书用于内部 TLS 验证
--tlsLogVersions arg 以逗号分隔的 TLS 协议列表,用于登录连接 [TLS1_0,TLS1_1,TLS1_2,TLS1_3]WiredTiger 选项:
--wiredTigerCacheSizeGB arg 为缓存分配的最大内存容量;默认为物理 RAM 的 1/2
--zstdDefaultCompressionLevel arg (=6) zstandard 压缩器的默认压缩级别
--wiredTigerJournalCompressor arg (=snappy) 使用日志记录压缩器 [none|snappy|zlib|zstd]
--wiredTigerDirectoryForIndexes 将索引和数据放在不同的目录中
--wiredTigerCollectionBlockCompressor arg (=snappy) 集合数据块压缩算法[NONE|SNAPPY|zlib|zstd]
--wiredTigerIndexPrefixCompression arg (=1) 在行存储叶页上使用 prefix 压缩免费监控选项:
--enableFreeMonitoring arg 启用云免费监控(on|runtime|off)
--freeMonitoringTag arg 免费云监控标签AWS IAM 选项:
--awsIamSessionToken arg 用于临时凭证的 AWS 会话令牌Windows 服务控制管理器选项:
--install 安装 Windows 服务
--remove 删除 Windows 服务
--reinstall 重新安装 Windows 服务(相当于先 --remove 后 --install)
--serviceName arg Windows 服务名称
--serviceDisplayName arg Windows 服务显示名称
--serviceDescription arg Windows 服务说明
--serviceUser arg 服务执行账户
--servicePassword arg 用于验证 serviceUser 服务的密码下面是一些常见的 mongod 命令用法示例:
(1)基本启动命令,启动一个默认配置的 MongoDB 服务器:
mongod(2)指定数据存储路径,使用 --dbpath 参数来指定数据存储的路径:
mongod --dbpath /path/to/data/directory(3)指定端口号,使用 --port 参数来指定 MongoDB 服务器监听的端口号:
mongod --port 27018(4)指定日志文件路径,使用 --logpath 参数来指定日志文件的路径和文件名:
mongod --logpath /path/to/log/mongod.log(5)启用认证,使用 --auth 参数来启用认证,要求客户端连接时进行身份验证:
mongod --auth(6)指定配置文件,使用 --config 参数来指定一个配置文件:
mongod --config /path/to/mongod.conf(7)指定绑定的 IP 地址,使用 --bind_ip 参数来指定服务器绑定的 IP 地址,可以使用逗号分隔多个地址:
mongod --bind_ip 127.0.0.1,192.168.1.100(8)设置副本集,使用 --replSet 参数来启动一个副本集成员:
mongod --replSet myReplicaSet(9)设置分片群集,使用 --shardsvr 参数来启动一个分片群集的分片节点:
mongod --shardsvr