windows版本 MongoDB副本集搭建及开启身份验证
MongoDB副本集搭建
我搭建的是一个主节点,两个副节点
构建目录结构如下图所示
rs0是副本集名称,每一份文件都是一个端口服务,以27018为主节点。

每一份的目录结构如下,conf存放的是配置文件信息,data27018是存放数据库数据信息,keyfile是存放key文件的。用于各个节点之间的身份验证。log存放数据库的日志信息,用来排查问题。

3.conf文件
Conf是放配置文件
# 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:\MongoDB\rs0\\data27018
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: D:\MongoDB\rs0\\log27018\mongo.log
# network interfaces
net:
port:
bindIp: 0.0.0.0
#processManagement:
security:
authorization: enabled
keyFile: D:\MongoDB\rs0\\keyfile\replicaSet1.key
#operationProfiling:
replication:
oplogSizeMB:
replSetName: rs0
#sharding:
#clusterRole: shardsvr
## Enterprise-Only Options:
#auditLog:
#snmp:
4.Keyfile下有个.key的文件为了复制集的用户验证。(keyfile文件是需要base编码且差不多660个字符。权限)
可用Linux系统生成,或者找度娘。每一个端口服务下的key必须是同一个。
5.修改每一个实例的conf文件里的端口号及数据存放地址,日志等。
6.运行win+r 选择管理员启动cmd
Windows注册服务
Windows注册服务
mongod.exe --config "D:\MongoDB\rs0\27018\conf\mongo.conf" --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" –install mongod.exe --config "D:\MongoDB\rs0\27019\conf\mongo.conf" --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" –install mongod.exe --config "D:\MongoDB\rs0\27020\conf\mongo.conf" --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --install
安装成服务后可以到服务中查看。
7.注册完成后,将所有服务启动
8.重新打开cmd 连接到其中的一个mongodb实例命令为: mongo --host ip地址 --port 27018

9.再连接其他两个实例
10.进入27018节点进行初始化配置
输入命令
其中的localhost 应是本机的IP地址。(此处坑,如果是服务器上一定要设置为IP地址,否则会重头再来)
rscongfig={"_id":"rs0",members:[{_id:,host:"localhost:27018"},{_id:,host:"localhost:27019"},{_id:,host:"localhost:27020"}]}

初始化该配置
rs.initiate(rscongfig)
回车如下图,“ok”:1,无错误信息。为正确

看下当前节点是否为主节点

rs.status()查看当前副本集状态

health: //1表明状态是正常,0表明异常
state: // 1表明是primary,2表明是slave,即做备份的机器
到此副本集就搭建成功了。接下来是开启身份验证
11.创建用户名
连接到27018,运行
use admin
定位到admin数据库,在这里创建用户信息
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "root", db: "admin" } ]
}
)
12.找到主库的配置文件 conf 开启身份验证,同时从库也要开,配置好位置。

conf 配置好后,将服务重新启动,然后客户端重新连接后 如果查看等报错的话就会提示需要权限,
然后转到use admin
db.auth("admin","admin")输入用户名密码
返回1就是 成功。
然后登陆从节点进行登陆看一下是否需要提示。
如果都成功,可以写入数据看一下复制集中是否有数据。
到此副本集身份验证开启说完了,下面说一下Springboot连接带安全认证的复制集
application-dev.properties
spring.data.mongodb.uri=mongodb://admin:password@127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020/ecis?authSource=admin&authMechanism=SCRAM-SHA-1&replicaSet=rs0& connectTimeoutMS=30000
//解释
admin:password是用户名密码
@IP地址端口号
authSource=admin 用户名存在的数据库
authMechanism 不造啥意思
replicaSet 复制集名称
connectTimeoutMS=30000连接时间
下面是navicat连接复制集方式

添加主机名,端口号,点击发现,可以查询当前复制集中的端口服务。
终于写完了,第一次写,写的不好,请见谅。
windows版本 MongoDB副本集搭建及开启身份验证的更多相关文章
- MongoDB副本集搭建及备份恢复
一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...
- mongodb副本集搭建过程中的问题和解决技巧
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...
- MongoDB 副本集搭建
搭建mongodb副本集 [root@ mongodb]# cd /u02 [root@ u02]# mkdir -p mongodb/data_2777 [root@ u02]# mkdir -p ...
- Mongodb副本集搭建经验
一.环境配置经验 1.一般安装的副本集的时候,主实例可以有数据库和用户:从实例不能.仲裁机不能有任何数据库包括用户 2.搭建副本集的时候Host使用外网IP,否则使用Mongodb VUE 1.6.9 ...
- MongoDB 副本集搭建 & 副本集扩容
副本集的搭建 创建多实例目录 [root@redis03 ~]# mkdir /server/mongodb/2801{7,8,9}/{conf,logs,pid,data} -p 编辑多实例配置文件 ...
- MongoDB 副本集配置,开启账号认证
MongoDB 自带功能强大的主从,配置也很简单,从零开始花了30分钟搞定 3台以上机器IP: 192.168.1.24, 192.168.1.25, 192.168.1.26, 192.168.1. ...
- mongodb副本集搭建
1.创建目录 mkdir -p /data/r1 /data/r2 /data/r3 2.启动: bin/mongod --config ../mongod.conf --replSet r1 b ...
- windows安装MongoDB副本集,通过Java程序实现数据的插入与查询
我本地的环境 MongoDB 4.0 jdk 1.7.x 安装参考主要博客 https://blog.csdn.net/wanght89/article/details/77677271#commen ...
- 在centos7上搭建mongodb副本集
1.安装副本集介绍 副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成.通过Replication,将数据的 ...
随机推荐
- 【Labview入门】工具的使用
labview版本:Labview2015 在你使用labview时你可能已经发现,在鼠标移动到连线上时,鼠标会自动的变化,其实这是你选择了自动识别的工具,然后鼠标会根据你所指示的东西自动切换工具类型 ...
- std::wstring
std::wstring主要用于 UTF-16编码的字符, std::string主要用于存储单字节的字符( ASCII字符集 ),但是也可以用来保存UTF-8编码的字符. UTF-8和UTF-16是 ...
- EFK教程 - EFK快速入门指南
通过部署elasticsearch(三节点)+filebeat+kibana快速入门EFK,并搭建起可用的demo环境测试效果 作者:"发颠的小狼",欢迎转载与投稿 目录 ▪ 用途 ...
- Swagger -- 解决日期不正确
继 Swagger--解决日期格式显示为Unix时间戳格式 UTC格式 这篇博客解决的日期格式后又发现了一个问题 问题 查询出来的时间没有注意到足足少了8个小时,如图 解决 其实这个问题不是Swag ...
- win7重装系统经验总结报告(2013年6月29日凌晨1:45)
win7重装系统经验总结报告(2013年6月29日凌晨1:45) 步骤: 1.考虑被重做的电脑是否有重要文件在C盘.有则转移到D盘等非系统盘. 2.看该电脑是2GB内存还是4GB以上内存. 3.准备好 ...
- 【ASP.NET Core学习】Razor页面
准备工作 初始化空的项目(终端输入:dotnet new web -n=Razor) Nuget添加Microsoft.EntityFrameworkCore.SqlServer 和 Microsof ...
- CTR@因子分解机(FM)
1. FM算法 FM(Factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,为了解决大规模稀疏数据中的特征组合问题.FM算法是推荐领域被验证效果较好的推荐算法之一,在电商.广 ...
- QHDYZ模拟赛20191012
今天信息处老师(并不是教练,基本等于机房看门大爷) (好吧老师其实很犇,软件什么的厉害的一批,只是不能带oi--) 跟我说:"xxj,过两天月考完了,可以在初赛前再整一次模拟赛,一天,三道题 ...
- Visual Studio Online 的 FAQ:iPad 支持、自托管环境、Web 版 VS Code、Azure 账号等
北京时间 2019 年 11 月 4 日,在 Microsoft Ignite 2019 大会上,微软正式发布了 Visual Studio Online 公开预览版!发布之后,开发者们都为之振奋.同 ...
- Asp.net Core 系列之--3.领域、仓储、服务简单实现
ChuanGoing 2019-11-11 距离上篇近两个月时间,一方面时因为其他事情耽搁,另一方面也是之前准备不足,关于领域驱动有几个地方没有想通透,也就没有继续码字.目前网络包括园子里大多领域驱 ...