MongoDB 3.x 安装配置

目录

(见右侧目录栏导航)
- 1. 安装Mongodb
    - 1.1 使用二进制包安装
    - 1.2 运行MongoDB
- 2. MongoDB 配置文件详解
    - 2.1 说明
    - 2.2 配置文件格式
    - 2.3 配置文件的核心选项
        - 2.3.1 systemLog 选项
        - 2.3.2 processMangement 选项
        - 2.3.3 net 选项
        - 2.3.4 storage 选项
        - 2.3.5 replication 选项
- 3. 启动/关闭MongoDB服务
    - 3.1 通过 mongod 命令启动
    - 3.2 通过服务启动

 

1. 安装Mongodb


官网下载地址:https://www.mongodb.com/download-center/community
官网Centos/RHEL安装教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

 

1.1 使用二进制包安装


    (1)安装前准备
    OS:CentOS Linux release 7.2
    首先安装依赖:
   

yum install libcurl openssl -y

 


    (2)下载并解压
    MongoDB下载中心   这里采用 mongodb-linux-x86_64-rhel70-3.6.10.tgz 版本

[root@mongodb src]# tar xf mongodb-linux-x86_64-rhel70-3.6.10.tgz 
[root@mongodb src]# mkdir -pv /mongodb
 mkdir: created directory ‘/mongodb’
[root@mongodb src]# cp -a mongodb-linux-x86_64-rhel70-3.6.10/bin/ /mongodb/

 


    
    (3)添加MongoDB执行文件到环境变量PATH中

[root@mongodb src]# echo "export PATH=$PATH:/mongodb/bin" >> /etc/profile.d/mongodb.sh
[root@mongodb src]# . /etc/profile.d/mongodb.sh

 

 


    1.2 运行MongoDB


    (1)前提
    设置系统 ulimit

[root@mongodb src]# egrep -v "^#|^$" /etc/security/limits.conf
*       soft    nproc       655350
*       hard    nproc       655350
*       soft    nfile       655350
*       soft    nfile       655350
[root@mongodb src]# ulimit -SHn 655350

 


    
    (2)目录
    使用默认目录
    默认,MongoDB使用mongod用户和使用默认的目录
     /var/lib/mongo    数据目录
    /var/log/mongodb    日志目录
    
    这里我们不使用默认的目录,采取自行指定目录
    
    创建MongoDB 使用目录
   

[root@mongodb ~]# mkdir -p /mongodb/{bin,data,etc,log,run}

 


   

2. MongoDB 配置文件详解

2.1 说明


    配置mongodb有两种方式:


    (1)通过mongod和mongos两个命令;
    (2)通过配置文件的方式(推荐使用)

2.2 配置文件格式


    mongodb 配置文件采用的 YAML格式;
    
    例如:

systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
processManagement:
   fork: true
net:
   bindIp: 127.0.0.1
   port: 27017
setParameter:
   enableLocalhostAuthBypass: false

 


   

2.3 配置文件的核心选项


2.3.1 systemLog 选项

systemLog:
   verbosity: <int>
   quiet: <boolean>
   traceAllExceptions: <boolean>
   syslogFacility: <string>
   path: <string>
   logAppend: <boolean>
   logRotate: <string>
   destination: <string>
   timeStampFormat: <string>
   component:
      accessControl:
         verbosity: <int>
      command:
         verbosity: <int>

 


==================重点参数==================
systemLog.destination
    类型:string
    作用:指定日志文件的路径,如果设置了这个值,必须指定systemLog.path.如果没有设置,日志会标准的输出到后台

systemLog.path
    类型:string
    作用:指定日志文件的目录

systemLog.logAppend
    类型:boolean
    默认值:False
    作用:当mongod或mongos重启时,如果为true,将日志追加到原来日志文件内容末尾;如果为false,将创建一个新的日志文件

=========================================

systemLog.timeStampFormat
    类型:string
    默认值:iso8601-local
    作用:为日志添加时间戳。

值     描述
ctime    显示时间戳格式为:Wed Dec 31 18:17:54.811
iso8601-utc    安装iso-8601-utc格式显示:1970-01-01T00:00:00.000Z
iso8601-local    按照iso8601-local格式显示:1969-12-31T19:00:00.000-0500
        
systemLog.traceAllExceptions
    类型:boolean
    作用: 为调试打印详细信息,用于支持相关的故障排除。
    
systemLog.syslogFacility
    类型:string
    默认值:user
    作用:将mongodb使用日志记录到系统日志中,如果要使用这个选项,必须开启--sysylog选项
    
 2.3.2 processMangement 选项

processManagement:
   fork: <boolean>
   pidFilePath: <string>

 


==================重点参数==================
processMangement.fork
    类型:Boolean
    默认值:False
    作用:在前台启动Mongodb进程,如果Session窗口关闭,Mongodb进程也随之停止。不过Mongodb同时还提供了一种后台Daemon方式启动,只需要加上一个"--fork"参数即可,值得注意的是,用到了"--fork"参数就必须启用"--logpath"参数。如下所示:

[root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork
--fork has to be used with --logpath
[root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork --logpath=log/mongodb.log 
all output going to: /opt/mongodb/log/mongodb.log
forked process: 3300  

 


    
=========================================

2.3.3 net 选项

net:
   port: <int>
   bindIp: <string>
   maxIncomingConnections: <int>
   wireObjectCheck: <boolean>
   ipv6: <boolean>
   unixDomainSocket:
      enabled: <boolean>
      pathPrefix: <string>
      filePermissions: <int>
   http:
      enabled: <boolean>
      JSONPEnabled: <boolean>
      RESTInterfaceEnabled: <boolean>
   ssl:
      sslOnNormalPorts: <boolean>  # deprecated since 2.6
      mode: <string>
      PEMKeyFile: <string>
      PEMKeyPassword: <string>
      clusterFile: <string>
      clusterPassword: <string>
      CAFile: <string>
      CRLFile: <string>
      allowConnectionsWithoutCertificates: <boolean>
      allowInvalidCertificates: <boolean>
      allowInvalidHostnames: <boolean>
      disabledProtocols: <string>
      FIPSMode: <boolean>
   compression:
      compressors: <string>

 


==================重点参数==================
net.port
    类型:integer
    默认值:27017
    作用:设置mongodb的监听TCP端口
    
net.bindIp
    类型:string
    作用:设置mongodb服务器监听ip地址,默认是127.0.0.1;如果监听多个ip地址,使用逗号隔开

=========================================

net.maxIncomingConnections
    类型:integer
    默认值:65536
    作用:最大并发链接数
    
2.3.4 storage 选项

storage:
   dbPath: <string>
   indexBuildRetry: <boolean>
   repairPath: <string>
   journal:
      enabled: <boolean>
      commitIntervalMs: <num>
   directoryPerDB: <boolean>
   syncPeriodSecs: <int>
   engine: <string>
   mmapv1:
      preallocDataFiles: <boolean>
      nsSize: <int>
      quota:
         enforced: <boolean>
         maxFilesPerDB: <int>
      smallFiles: <boolean>
      journal:
         debugFlags: <int>
         commitIntervalMs: <num>
   wiredTiger:
      engineConfig:
         cacheSizeGB: <number>
         journalCompressor: <string>
         directoryForIndexes: <boolean>
      collectionConfig:
         blockCompressor: <string>
      indexConfig:
         prefixCompression: <boolean>
   inMemory:
      engineConfig:
         inMemorySizeGB: <number>

 



==================重点参数==================
storage.dbPath
    类型:string
    默认值:/data/db(linux和macOS系统) ,\data\db(window系统)
    作用:设置数据存储文件目录

storage.journal.enabled
    类型:boolean
    默认值:true(64-bit系统);false(32-bit系统)
    作用:开启和关闭journal,为了保证数据文件的有效性和可恢复性;在设置了dbpath之后有效
    注:在in-memory存储引擎下不可用

========================================

storage.indexBuildRetry
    类型:boolean
    默认值:true
    作用:开启或关闭是否在mongod下次启动重建不完整的索引。
    注:在in-memory存储引擎下不可用
    
storage.repairPath
    类型:string
    默认值:在dbpath下的A _tmp_repairDatabase_<num> 文件目录
    作用:为进行恢复操作指定目录
    注意:仅仅在MMAPv1存储引擎下可用
    
2.3.5 replication 选项  

replication:
   oplogSizeMB: <int>
   replSetName: <string>
   secondaryIndexPrefetch: <string>
   enableMajorityReadConcern: <boolean>

 



==================重点参数==================
replication.oplogSizeMB
    类型:integer
    作用:设置复制日志文件的大小;
    
replication.replSetName
    类型:string
    作用:副本集的名称
========================================


综上所有的重点参数,常用副本集配置文件如下:


[root@mongodb ~]# vim /mongodb/etc/mongod.conf

systemLog:
 destination: file
###日志存储位置
 path: /mongodb/log/mongod.log
 logAppend: true
storage:
##journal配置
 journal:
  enabled: true
##数据文件存储位置
 dbPath: /mongodb/data/
##是否一个库一个文件夹
 directoryPerDB: true
##数据引擎
 engine: wiredTiger
##WT引擎配置
 wiredTiger:
  engineConfig:
##WT最大使用cache(根据服务器实际情况调节)
   cacheSizeGB: 10
##是否将索引也按数据库名单独存储
   directoryForIndexes: true
##表压缩配置
  collectionConfig:
   blockCompressor: zlib
##索引配置
  indexConfig:
   prefixCompression: true
processManagement:
 fork: true  # fork and run in background
 pidFilePath: /mongodb/run/mongod.pid
##端口配置
net:
 port: 27017
 bindIp: 192.168.118.11

 # 配置副本集重要参数(使用副本集群的时候使用,单节点无需次选项)
replication:
 oplogSizeMB: 20
 replSetName: rs0
mongod.conf

 



配置文件详解:https://www.cnblogs.com/phpandmysql/p/7763394.html

3. 启动/关闭MongoDB服务


启动、关闭MongoDB的方式有两种:
    (1)通过命令mongod 直接启动
    (2)编写启动脚本,通过脚本启动(推荐使用)

3.1 通过 mongod 命令启动

 

启动:
[root@mongodb ~]# mongod -f /mongodb/etc/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 19645
child process started successfully, parent exiting
关闭:
[root@mongodb ~]# mongod -f /mongodb/etc/mongod.conf --shutdown
killing process with pid: 19645

 

 


3.2 通过服务启动


(1)创建服务启动用户:

[root@mongodb ~]# groupadd mongodb
[root@mongodb mongodb]# useradd -r -d /mongodb/data -s /sbin/nologin -g mongodb mongodb
[root@mongodb ~]# chown -R mongodb:root /mongodb/

 



(2)编写服务脚本如下:

[root@mongodb ~]# vim /lib/systemd/system/mongod.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=syslog.target network.target

[Service]
Type=forking
User=mongodb
ExecStart=/mongodb/bin/mongod -f /mongodb/etc/mongod.conf
PrivateTmp=true
LimitNOFILE=64000
TimeoutStartSec=180

[Install]
WantedBy=multi-user.target

 



(3)启动与关闭

# 启动MongoDB并开机自启
[root@mongodb mongodb]# systemctl enable mongod ; systemctl start mongod
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
[root@mongodb mongodb]# netstat -ntplu | egrep mongod
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      2421/mongod

# 关闭MongoDB
[root@mongodb mongodb]# systemctl stop mongod

 

















原文地址:https://www.cnblogs.com/hukey/p/10363116.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读552次。com.mongodb.MongoQueryException: Query failed with error code 292 and error message 'Executor error during find command :: caused by :: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting.' on server 11.51.141.63:27017 _mongodb 大文件 下载失败
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQL 数据库,它将每个数据存储为一个文档,这里的文档类似于 JSON/BSON 对象,具体数据结构由键值(key/value)对组成。
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atlas Vector Search和Amazon Bedrock构建下一代应用程序
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_springboot3 elasticsearch json数据
文章浏览阅读673次。MongoDB 简介_尚医通sql
文章浏览阅读1k次,点赞8次,收藏9次。官网下载MongoDB安装包后进行解压(因了解并不深入,故暂不进行详细说明,自行查找其他安装方法,后期了解深入后将进行该教程的完善)在bin目录下使用命令启动:./mongod --config …/mongodb.conf。该文章任然处于完善中,如果存在错误遗漏的地方,欢迎私信联系。安装相关的nuget包后即可通过以下方法连接数据。YX9010_0@的第二十篇文章。
文章浏览阅读1.2k次,点赞17次,收藏26次。社交场景, 使用 MongoDB 存储存储用户信息, 以及用户发表的朋友圈信息, 通过地理位置索引实现附近的人, 地点等功能.游戏场景, 使用 MongoDB 存储游戏用户信息, 用户的装备, 积分等直接以内嵌文档的形式存储, 方便查询, 高效率存储和访问.物流场景, 使用 MongoDB 存储订单信息, 订单状态在运送过程中会不断更新, 以 MongoDB 内嵌数组的形式来存储, 一次查询就能将订单所有的变更读取出来.物联网场景, 使用 MongoDB 存储所有接入的智能设备信息, 以及设备汇报的日
文章浏览阅读686次。您可以使用 update_one() 方法来更新 MongoDB 中调用的记录或文档。update_one() 方法的第一个参数是 query 对象,用于定义要更新的文档。注释:如果查询找到多个记录,则仅更新第一个匹配项。第二个参数是定义文档新值的对象。_python 更新 mongodb 数据
文章浏览阅读1.3k次。首先来学习一下nosql这里安装就不进行介绍 只记录一下让自己了解mongodb。_nosql注入
文章浏览阅读4.1k次,点赞8次,收藏7次。在data的目录下,创建一个db文件。因为启动MongoDB服务之前必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。第一步:安装时,Custom是指可以自定义安装路径,然后傻瓜式安装即可(注意:先不要安装图形化工具,否则安装时间会特别长):如果要想连接成功,必须要开服务,即mongod -dbpath C:MongoDBdatadb的cmd要一直开着。然后回车,ctrl+F输入port找到端口号,一般为:27017。打开命令行,然后找到bin文件地址,并输入。_mongodb windows安装
文章浏览阅读5.1k次,点赞3次,收藏43次。详细介绍MongoDB数据库的基本知识,安装方法,基本操作,_mongodb数据库
文章浏览阅读3.2k次。安装教程翻看以往文章。_navicat 连接mongodb
文章浏览阅读426次,点赞9次,收藏12次。win10开放端口:https://blog.csdn.net/m0_43605481/article/details/119255256。我的是阿里云服务器,所以直接在安全组中加入规则,端口范围:27017,授权对象:0.0.0.0。windows在mongodb安装文件夹的bin文件夹中的mongod.cfg。数据库名字是test,打算创建一个用户,账号aaa,密码bbb,权限readWrite。因为该用户是创建在test数据库的,所以在最后要加上test。O了,然后恢复了test的数据。
文章浏览阅读1.1k次。聚合操作主要用于处理数据并返回计算结果。聚合操作将来自多个文档的值组合在一起,按条件分组后,再进行一系列操作(如求和、平均值、最大值、最小值)以返回单个结果。MongoDB的聚合查询​聚合是MongoDB的高级查询语言,它允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。MongoDB中聚合(aggregate)主要用于处理数据(例如分组统计平均值、求和、最大值等),并返回计算后的数据结果,有点类似sql语句中的count(*)、groupby。..._如何将几个db的数据统整在一起做查询
文章浏览阅读680次,点赞7次,收藏8次。(2)application.properties配置文件。(4)UserService类。(5)测试和测试结果。
文章浏览阅读1k次,点赞17次,收藏25次。Studio 3T 2023.9 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端,支持自然语言查询_mongodb客户端
文章浏览阅读1.1k次,点赞32次,收藏27次。插件式的存储引擎架构可以实现 Server 层和存储引擎层的解耦,可以支持多种存储引擎,如 MySQL 既可以支持 B-Tree 结构的 InnoDB 存储引擎,还可以支持 LSM 结构的 RocksDB 存储引擎。MongoDB 中的记录就是一个 BSON 文档,它是由键值对组成的数据结构,类似于 JSON 对象,是 MongoDB 中的基本数据单元。的简称,是 JSON 文档的二进制表示,支持将文档和数组嵌入到其他文档和数组中,还包含允许表示不属于 JSON 规范的数据类型的扩展。
文章浏览阅读5.1k次,点赞6次,收藏96次。本文设计了一种基于智能室内温度控制的自动调速风扇。以STM32系列单片机为核心主控板,通过程序代码驱动和使用温度传感器模块实现对环境温度的实时监测,并可以实时显示环境温度。同时,可以设置温度检测的上下警告值,根据需求自行调节。_stm32 温控风扇
文章浏览阅读898次,点赞13次,收藏21次。在MongoDB中,我们使用find()和find_one()方法来在集合中查找数据,就像在MySQL数据库中使用SELECT语句来在表中查找数据一样。_pymongo find_one