mongod
命令有众多参数,用于配置MongoDB服务的各种行为和特性,以下是对其主要参数的详细解释:
基础配置参数
--port
:指定mongod
进程监听的端口号,默认值为27017。例如mongod --port 27018
将使MongoDB服务在27018端口监听客户端连接。--dbpath
:指定数据库文件的存储路径。如mongod --dbpath /data/mongodb
会将数据库文件存储在/data/mongodb
目录下。--logpath
:设置日志文件的路径。若执行mongod --logpath /var/log/mongodb.log
,则mongod
的日志将输出到指定的/var/log/mongodb.log
文件中。--logappend
:以追加模式写入日志文件,而不是覆盖原有内容。通常与--logpath
一起使用,如mongod --logpath /var/log/mongodb.log --logappend
。
网络与连接参数
--bind_ip
:指定mongod
进程绑定的IP地址。可以是单个IP或多个IP用逗号分隔,如mongod --bind_ip 127.0.0.1,192.168.0.100
,表示只允许来自这些IP地址的客户端连接。--maxConns
:设置mongod
允许的最大并发连接数,默认值因系统而异。例如mongod --maxConns 1000
将限制MongoDB同时处理的最大连接数为1000。
存储与性能参数
--storageEngine
:指定存储引擎类型,常见的有wiredTiger
(默认)、mmapv1
等。如mongod --storageEngine mmapv1
将使用mmapv1
存储引擎。--wiredTigerCacheSizeGB
:用于设置wiredTiger
存储引擎的缓存大小,以GB为单位。例如mongod --wiredTigerCacheSizeGB 4
将分配4GB内存作为缓存。
复制与集群参数
--replSet
:指定该mongod
实例所属的复制集名称。如mongod --replSet myReplSet
,表示该实例将加入名为myReplSet
的复制集。--shardsvr
:将mongod
实例配置为分片服务器,用于MongoDB的分片集群架构。例如mongod --shardsvr
启动的实例将作为分片服务器运行。
安全与认证参数
--auth
:启用数据库的用户认证功能。执行mongod --auth
后,客户端连接数据库时需要提供有效的用户名和密码。--keyFile
:指定用于复制集成员之间通信加密的密钥文件路径。如mongod --keyFile /etc/mongodb/keyfile
,用于确保复制集内数据传输的安全性。
日志与监控参数
--slowms
:定义慢查询的阈值,单位为毫秒。例如mongod --slowms 100
表示执行时间超过100毫秒的查询将被记录为慢查询。--profile
:启用数据库性能分析,可选值有0
(关闭)、1
(记录慢查询)、2
(记录所有查询)。如mongod --profile 1
将记录慢查询信息到日志中。
其他参数
--fork
:以守护进程方式运行mongod
,即在后台运行。通常与--logpath
等参数一起使用,如mongod --fork --logpath /var/log/mongodb.log
。--repair
:对损坏的数据库进行修复。执行mongod --repair
会尝试修复数据库文件中的错误,但可能会导致部分数据丢失,应谨慎使用。