-
官网地址
www.mongodb.com/ -
下载地址
www.mongodb.com/try/downloa…
这里我们下载Windows版本的4.4.3版本,压缩包地址为:downloads.mongodb.com/windows/mon…
具体如下图所示:
-
安装数据库
由于我们安装的是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的作用是存储数据的相关日志,如下图所示:
-
安装配置
在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:
-
安装服务
以管理员身份运行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.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.1、测试前,我们先将服务MongoDB4.4.3-1启动起来
7.2、连接到1666端口的数据库服务,以管理员身份运行CMD并定位到DB1(主节点)的bin目录下,然后输入如下字符回车即可:mongo -port 1666
7.3、输入如下命令分别来测试“查看数据库”、“使用(切换、指定)数据库”和“查看指定数据库下的集合”:
show dbs #查看数据库 use admin #使用(切换、指定)数据库 show collections #查看指定数据库下的集合
-
安装完成
至此,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等数据库客户端工具对数据进行可视化查询展示,如下图所示: