mongodb配置参考(转)

本文详细介绍了MongoDB服务启动的各项参数配置,包括基本配置、复制、分片等高级特性,适用于不同场景的需求。
===================
MongoDB的参数
===================   

# 使用下面命令可以查看服务的启动参数
mongodb/bin/mongod --help  或者mongodb/bin/mongod -h

# 其他命令参数

  * 基本配置
-----------------------------------------------------------------------------
  --quiet                                 # 安静输出
  --port arg                            # 指定服务端口号,默认端口27017
  --bind_ip arg                      # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP 
  --logpath arg                     # 指定MongoDB日志文件,注意是指定文件不是目录
  --logappend                      # 使用追加的方式写日志
  --pidfilepath arg                # PID File 的完整路径,如果没有设置,则没有PID文件
  --keyFile arg                      # 集群的私钥的完整路径,只对于Replica Set 架构有效
  --unixSocketPrefix arg      # UNIX域套接字替代目录,(默认为 /tmp)
  --fork                                # 以守护进程的方式运行MongoDB,创建服务器进程
  --auth                               # 启用验证
  --cpu                                # 定期显示CPU的CPU利用率和iowait
  --dbpath arg                     # 指定数据库路径
  --diaglog arg                     # diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
  --directoryperdb               # 设置每个数据库将被保存在一个单独的目录
  --journal                           # 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
  --journalOptions arg         # 启用日志诊断选项
  --ipv6                              # 启用IPv6选项
  --jsonp                            # 允许JSONP形式通过HTTP访问(有安全影响)
  --maxConns arg              # 最大同时连接数 默认2000
  --noauth                         # 不启用验证
  --nohttpinterface            # 关闭http接口,默认关闭27018端口访问
  --noprealloc                    # 禁用数据文件预分配(往往影响性能)
  --noscripting                   # 禁用脚本引擎
  --notablescan                 # 不允许表扫描
  --nounixsocket               # 禁用Unix套接字监听
  --nssize arg (=16)          # 设置信数据库.ns文件大小(MB)
  --objcheck                     # 在收到客户数据,检查的有效性,
  --profile arg                    # 档案参数 0=off 1=slow, 2=all
  --quota                          # 限制每个数据库的文件数,设置默认为8
  --quotaFiles arg              #  number of files allower per db, requires --quota
  --rest                             # 开启简单的rest API
  --repair                           # 修复所有数据库run repair on all dbs
  --repairpath arg               # 修复库生成的文件的目录,默认为目录名称dbpath
  --slowms arg (=100)       # value of slow for profile and console log
  --smallfiles                       # 使用较小的默认文件
  --syncdelay arg (=60)    # 数据写入磁盘的时间秒数(0=never,不推荐)
  --sysinfo                         # 打印一些诊断系统信息
  --upgrade                      # 如果需要升级数据库

  * Replicaton 参数
-----------------------------------------------------------------------------
  --fastsync                      # 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步
  --autoresync                 # 如果从库与主库同步数据差得多,自动重新同步,
  --oplogSize arg              # 设置oplog的大小(MB)

  * 主/从参数
----------------------------------------------------------------------------- 
  --master                        # 主库模式
  --slave                           # 从库模式 
  --source arg                  # 从库端口号
  --only arg                     # 指定单一的数据库复制
  --slavedelay arg            # 设置从库同步主库的延迟时间
  
  * Replica set(副本集)选项:
-----------------------------------------------------------------------------   
  --replSet arg                 # 设置副本集名称

  * Sharding(分片)选项
-----------------------------------------------------------------------------   
  --configsvr                    # 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
  --shardsvr                     # 声明这是一个集群的分片,默认端口27018
  --noMoveParanoia      # 关闭偏执为moveChunk数据保存?

# 上述参数都可以写入mongod.conf 配置文档里例如:

dbpath = /data/mongodb              
logpath = /data/mongodb/mongodb.log 
logappend = true                   

port = 27017                      
fork = true                         
auth = true     
配置 MongoDB 数据库涉及多个方面,包括数据库存储路径设置、日志配置、服务安装、权限管理以及与其他系统的集成。以下是一个完整的设置指南,适用于 Windows Linux 系统: ### 1. 配置 MongoDB 的数据存储路径日志路径 在 MongoDB配置文件中,需要指定数据库存储路径(`dbPath`)日志文件路径(`path`)。例如,在 Windows 系统中,可以按照以下方式配置: ```yaml systemLog: destination: file path: G:\Program Files\MongoDB\Server\5.0\log\mongod.log storage: dbPath: G:\Program Files\MongoDB\Server\5.0\data\db ``` 如果不想使用配置文件,也可以通过命令行指定这些参数。例如: ```bash mongod -dbpath "D:\Soft\MongoDB\data\db" -logpath "D:\Soft\MongoDB\data\log\mongo.log" ``` 此外,可以将 MongoDB 安装为 Windows 服务,方便启动管理: ```bash mongod -dbpath "D:\Soft\MongoDB\data\db" -logpath "D:\Soft\MongoDB\data\log\mongo.log" -install -serviceName "MongoDB" ```[^2] ### 2. 启动 MongoDB 服务 在 Windows 系统中,可以通过以下命令启动 MongoDB 服务: ```bash net start MongoDB ``` 停止服务的命令为: ```bash net stop MongoDB ``` 如果使用的是 Linux 系统,可以使用 `systemctl` 管理服务: ```bash sudo systemctl start mongod ``` 重启 MongoDB 服务以应用配置更改: ```bash sudo systemctl restart mongod ``` ### 3. 配置 MongoDB 的访问权限 默认情况下,MongoDB 不启用访问控制。为了启用用户认证,需要编辑 MongoDB配置文件 `/etc/mongod.conf`,将 `authorization` 设置为 `enabled`: ```yaml security: authorization: enabled ``` 启用访问控制后,需要创建管理员用户并分配权限。进入 MongoDB shell: ```bash mongo ``` 然后执行以下命令来创建管理员用户: ```javascript use admin db.createUser( { user: "adminUser", pwd: "adminPassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) ``` 退出 MongoDB 并重新启动服务以应用更改: ```bash sudo systemctl restart mongod ``` ### 4. 配置 MongoDB 的远程访问 如果希望 MongoDB 允许远程连接,需要在配置文件中修改 `bindIp` 参数。默认情况下,MongoDB 仅绑定到 `127.0.0.1`,即只允许本地连接。要允许所有 IP 地址连接,可以将其设置为 `0.0.0.0`: ```yaml net: bindIp: 0.0.0.0 port: 27017 ``` ### 5. 配置 MongoDB 与 Spring Boot 集成 在 Spring Boot 应用程序中,可以通过 `application.yml` 文件配置 MongoDB 连接信息: ```yaml spring: data: mongodb: host: "mongoserver1.example.com" port: 27017 additional-hosts: - "mongoserver2.example.com:23456" database: "test" username: "user" password: "secret" ``` 如果 MongoDB 启用了访问控制,还需要在连接字符串中包含用户名密码。 ### 6. 验证 MongoDB 是否正常运行 可以通过以下命令连接到 MongoDB: ```bash mongo ``` 然后执行以下命令查看当前数据库: ```javascript show dbs ``` 创建一个新的数据库并插入数据以测试连接: ```javascript use testdb db.testcollection.insertOne({ name: "MongoDB Test" }) db.testcollection.find() ``` ### 7. 配置 MongoDB 的副本集(可选) 如果需要高可用性,可以配置 MongoDB 副本集。首先,启动多个 MongoDB 实例,并为每个实例指定不同的端口数据目录。然后在主节点上初始化副本集: ```javascript rs.initiate() ``` 添加其他节点到副本集中: ```javascript rs.add("secondary-node:27017") ``` ### 8. 配置 MongoDB 的分片集群(可选) 对于大规模数据存储,可以配置 MongoDB 分片集群。需要设置配置服务器(`mongod` 实例,使用 `--configsvr` 参数)、分片服务器(`mongod` 实例,使用 `--shardsvr` 参数)以及路由服务器(`mongos` 实例)。具体配置较为复杂,建议参考 MongoDB 官方文档进行操作。 ### 9. 配置 MongoDB 的备份与恢复 可以使用 `mongodump` `mongorestore` 工具进行数据库备份恢复。例如,备份整个数据库: ```bash mongodump --out /backup/mongodb ``` 恢复数据库: ```bash mongorestore /backup/mongodb ``` ### 10. 监控 MongoDB 性能 MongoDB 提供了多种监控工具,包括 `mongostat` `mongotop`,可以实时查看数据库的性能指标。例如: ```bash mongostat ``` 显示数据库的实时操作统计信息。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值