在前面的教程中,我们已经讨论了如何启动 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