mongod-命令详解


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会尝试修复数据库文件中的错误,但可能会导致部分数据丢失,应谨慎使用。