MongoDB 启动服务

在前面的教程中,我们已经讨论了如何启动 MongoDB 服务,你只需要执行 MongoDB 安装目录的 bin 目录下的 mongod 命令即可。

执行启动操作后,MongoDB 在输出一些必要的启动信息后就不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。

mongod 命令

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命令示例

下面是一些常见的 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
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号