Windows平台下安装MongoDB(集群)

511 阅读6分钟

  1. 官网地址
    www.mongodb.com/

  2. 下载地址
    www.mongodb.com/try/downloa…
    这里我们下载Windows版本的4.4.3版本,压缩包地址为:downloads.mongodb.com/windows/mon…
    具体如下图所示:

  3. 安装数据库

    由于我们安装的是MongoDB集群,所以这里我们以安装3套MongoDB在同一台机子上为例子进行讲解。

    在讲解之前,我们首先需要了解MongoDB集群的几个概念:主节点、副节点和仲裁节点
    其中的主节点和副节点是用来存储数据的,默认情况下主节点提供所有的增删改查服务,但是也可以设置通过副节点来提供查询服务,这样就可以减少对主节点服务的一些压力,当客户端请求查询服务时,自动转到副节点进行查询;
    其中的仲裁节点是不提供数据存储服务的,它是一个特殊的节点,该节点扮演者一个重要的角色,其作用就是:当主节点挂掉后,能迅速决定将哪一个副节点提升为主节点进行使用。在下面的讲解中DB1(主节点)、DB2(备用节点)和DB3(仲裁节点)虽然只有一个副节点,但还是要有一个仲裁节点的存在。

    3.1、我们在D:\Net_Program\Net_MongoDB下创建DB1(主节点)、DB2(副节点)和DB3(仲裁节点)文件夹分别用来安装MongoDB数据库,如下图所示:

    3.2、我们将下载下来的压缩包mongodb-windows-x86_64-4.4.3.zip解压到DB1(主节点)文件夹内,如下图所示:

    3.3、在DB1(主节点)文件夹内创建data和log文件夹,data的作用是存储数据、log的作用是存储数据的相关日志,如下图所示:

  4. 安装配置

    在DB1(主节点)文件夹内创建config.cfg配置文件(文件的后缀名不限制),配置文件的具体内容如下所示(DB1(主节点)中配置MongoDB的端口号为1666,根据自己的实际情况修改即可,更多配置参见官网:docs.mongodb.com/manual/refe…):

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
      dbPath: D:\Net_Program\Net_MongoDB\DB1\data #数据库数据的存放位置
      directoryPerDB: true #是否分别为每个数据库创建相应的文件夹
      journal: #是否打开journal
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog: #系统日志项
      destination: file
      logAppend: true #是否开启日志追加模式
      path:  D:\Net_Program\Net_MongoDB\DB1\log\mongod.log #数据库日志的存放位置
    
    # network interfaces
    net: #网络相关
      port: 1666 #指定端口,默认端口为27017(不建议使用默认端口)
      bindIp: 192.168.2.200
    
    # 集群名称
    replication:
      replSetName: RsQuberPC #集群名称
    
    #processManagement:
    
    #security:
      #authorization: enabled
    
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    

  5. 安装服务

    以管理员身份运行CMD并定位到DB1(主节点)的bin目录内,然后运行如下字符将MongoDB的服务安装到Windows服务中:

    mongod -f "D:\Net_Program\Net_MongoDB\DB1\config.cfg" --serviceName "MongoDB4.4.3-1" --serviceDisplayName "MongoDB4.4.3-1" --install
    

    此时我们在Windows服务列表中就可以看到多了一个名叫“MongoDB4.4.3-1”的服务了:

  6. 配置集群
    6.1、任意连接上一台MongoDB,比如这里我们使用DB1(主节点),以管理员身份运行CMD并定位到bin文件夹,然后输入如下命令:

    mongo --host 192.168.2.200 --port 1666
    

    use admin
    

    6.2、然后输入如下命令初始化集群(命令中的RsQuberPC为配置文件config.cfg中的集群名称):

    rs.initiate({_id:"RsQuberPC",members:[{_id:0,host:"192.168.2.200:1666"},{_id:1,host:"192.168.2.200:1667"}]})
    

    6.3、然后输入如下命令添加仲裁

    rs.addArb("192.168.2.200:1668")
    

    6.4、输入如下命令查看集群状态:

    rs.status()
    



  7. 测试

    7.1、测试前,我们先将服务MongoDB4.4.3-1启动起来
    7.2、连接到1666端口的数据库服务,以管理员身份运行CMD并定位到DB1(主节点)的bin目录下,然后输入如下字符回车即可:

    mongo -port 1666
    

    7.3、输入如下命令分别来测试“查看数据库”、“使用(切换、指定)数据库”和“查看指定数据库下的集合”:

    show dbs  #查看数据库
    use admin #使用(切换、指定)数据库
    show collections #查看指定数据库下的集合
    

  8. 安装完成

    至此,MongoDB的安装就完成了,至于DB2(副节点)和DB3(仲裁节点)的安装,和DB1(主节点)的安装配置基本一致的,最大的区别在于需要将DB2和DB3的配置端口号和存储的目录进行修改,如DB2的配置端口为1667、DB3的配置端口为1668,按照安装配置DB1的思路我们就可以将DB2、DB3或者更多的服务进行安装和配置,如下图所示:

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
      dbPath: D:\Net_Program\Net_MongoDB\DB2\data #数据库数据的存放位置
      directoryPerDB: true #是否分别为每个数据库创建相应的文件夹
      journal: #是否打开journal
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog: #系统日志项
      destination: file
      logAppend: true #是否开启日志追加模式
      path:  D:\Net_Program\Net_MongoDB\DB2\log\mongod.log #数据库日志的存放位置
    
    # network interfaces
    net: #网络相关
      port: 1667 #指定端口,默认端口为27017(不建议使用默认端口)
      bindIp: 192.168.2.200
    
    # 集群名称
    replication:
      replSetName: RsQuberPC #集群名称
    
    #processManagement:
    
    #security:
      #authorization: enabled
    
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
      dbPath: D:\Net_Program\Net_MongoDB\DB3\data #数据库数据的存放位置
      directoryPerDB: true #是否分别为每个数据库创建相应的文件夹
      journal: #是否打开journal
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog: #系统日志项
      destination: file
      logAppend: true #是否开启日志追加模式
      path:  D:\Net_Program\Net_MongoDB\DB3\log\mongod.log #数据库日志的存放位置
    
    # network interfaces
    net: #网络相关
      port: 1668 #指定端口,默认端口为27017(不建议使用默认端口)
      bindIp: 192.168.2.200
    
    # 集群名称
    replication:
      replSetName: RsQuberPC #集群名称
    
    #processManagement:
    
    #security:
      #authorization: enabled
    
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    

    最后我们可以使用Navicat等数据库客户端工具对数据进行可视化查询展示,如下图所示: