介绍一下非主流玩法。
1. Mongdb架构概述
官方给出的标准架构进行分析,如图:

2. 资源规划
IP 系统 软件 说明
192.168.17.148 Win 10 企业版 Mongodb4.2.18 Mongodb-primary节点
192.168.17.149 Win 10 企业版 Mongodb4.2.18 Mongodb-secondary1节点
192.168.17.150 Win 10 企业版 Mongodb4.2.18 Mongodb-secondary2节点
3.Mongo安装与配置
副本节点建议采用1主2副本情况,除非是资源缺少1主1副本1仲裁
3.1 准备工作(192.168.17.148操作)
1.防火墙允许mongo运行
进入防火墙



2.时间同步

3.2 安装Mongo
下载软件
通过官网下载https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.18.zip
解压软件并添加环境变量
路径自行修改

添加mongodb执行环境变量,添加完后重启机器使变量生效。

以下配置文件是yaml格式,在子项中是有缩进的,如图

但是在以下的文件中没有显示缩进,请注意修改
在C:\mongodb\mongodb中创建配置文件mongod.cfg,参数如下:
systemLog:
destination: file
path: C:\mongodb\mongodb\log\mongod.log
logAppend: true
logRotate: reopen
storage:
dbPath: C:\mongodb\mongodb\data
journal:
enabled: true
commitIntervalMs: 100
directoryPerDB: true
net:
bindIp: 192.168.17.148
port: 27017
replication:
oplogSizeMB: 2000
replSetName: myset
参数中,数据目录和日志目录先建好。oplogSizeMB参数可以自行调整大小
安装MongoDB服务
mongod --config “C:\mongodb\mongodb\mongod.cfg” --install --serviceName “MongoDB”
如果缺少VCRUNTIME140.dll,MSVCP140.dll,VCRUNTIME140_1.dll 可以到网上下或到自己的win10电脑上复制。
在C:\mongodb\mongodb中创建配置文件mongod.cfg,参数如下:
systemLog:
destination: file
path: C:\mongodb\mongodb\log\mongod.log
logAppend: true
logRotate: reopen
storage:
dbPath: C:\mongodb\mongodb\data
journal:
enabled: true
commitIntervalMs: 100
directoryPerDB: true
net:
bindIp: 192.168.17.148
port: 27017
replication:
oplogSizeMB: 2000
replSetName: myset
参数中,数据目录和日志目录先建好。oplogSizeMB参数可以自行调整大小
安装MongoDB服务
mongod --config “C:\mongodb\mongodb\mongod.cfg” --install --serviceName “MongoDB”

启动mongodb
net start MongoDB

3.3 启动其余2节点mongodb
192.168.17.149,192.168.17.150两个服务器执行3.1和3.2的全部步骤。
3.4 搭建副本集
副本集需要3个mongod组成,
1.采取1主(primary)2从(secondary)1。强烈推荐
2.采取1主(primary)1从(secondary)1仲裁(arbiter)的结构。
192.168.17.148操作,构建副本集
连上192.168.17.148.
mongo --port 27017 --host 192.168.17.148
use admin
config = {_id:“myset”, members:[{_id:1,host:“192.168.17.148:27017”},{_id:2,host:“192.168.17.149:27017”},{_id:3,host:“192.168.17.150:27017”}]}
rs.initiate(config);


配置执行完后,过一会,再按回车,主库就产生了。如上图
验证查看副本集状态
rs.status()

3.5 创建管理员账号
管理员账号创建:
use admin;
db.createUser(
{
user: “root”,
pwd: “rootpwd”,
roles: [
{ role: “userAdminAnyDatabase”, db: “admin” }, { role: “clusterAdmin”, db: “admin” },{ role: “root”, db: “admin” }
]
}
)

##认证方式:
use admin
db.auth(“root”,“rootpwd”); ## 如下1表示认证成功
有密码登陆:
#mongo --port 27017 --host 192.168.17.149 --username=root --password=rootpwd --authenticationDatabase=admin






