mongoDB实例开启及副本集搭建流程

   我服务端开发小白一枚,这几天为了在windows上搞这个,查了不少资料,踩了不少坑,发一篇文章记录下,帮需要的朋友避免这个踩坑过程。

参考文献链接

https://jingyan.baidu.com/article/67662997203cfd15d51b84f6.html

MongoDB安装配置教程(详细版)_mongodb安装教程-CSDN博客

https://www.cnblogs.com/liweikuan/p/15968060.html

https://www.cnblogs.com/dyd168/p/16558254.html

第一步先进行安装

       进入Download MongoDB Community Server | MongoDB,下载community server

下载完成后正常进行安装即可

之后再下载mongodb shell,commnunity包内时没有包含这玩意的

(建议将此压缩包解压到community server的安装目录,bin文件夹内的东西放一起)

第二步配置环境变量

1.右击桌面图标 我的电脑” ,找到  环境变量  系统变量 里面找到 path,点击 编辑

 2.添加MongoDBbin地址(ps:注意自己电脑存放mongodb的文件夹路径)

第三步创建实例配置

       首先在你想要存放数据的目录下创建一个db1文件夹

再在文件夹内创建2个文件mongo.config和mongo.log(两个文件命名并非固定,只要和mongo.config中的配置对的上即可)

Mongo.log文件中没有内容

Mongo.config中的配置如下:

#数据库数据存放目录

dbpath=G:\MongoDB\moshou\db1

#数据库日志存放目录

logpath=G:\MongoDB\moshou\db1\mongo.log

#以追加的方式记录日志

logappend = true

#端口号 默认为 27017

port=27017

#mongodb所绑定的ip地址,绑定后只能通过127访问

bind_ip = 127.0.0.1

#是否开启副本集模式

replSet=rs0

注:填配置时,注意空格符号;注意不要添加用户认证和keyFile等冗余配置!

此时将db1文件夹复制3份,并把对应的mongo.config内的配置路径调整成对应的文件夹路径

第四步开启多个mongoDB实例

在moshou根目录下(这个是我自己的db1…等文件夹的根目录),按住Shift键,右键点击空白处,打开多个PowerShell,分别执行如下指令:

mongod -f db1\mongo.config --replSet rs0

mongod -f db2\mongo.config --replSet rs0

mongod -f db3\mongo.config --replSet rs0

执行后表现

此时便开启了3个mongodb实例了

验证实例是否开启,可以打开cmd,执行如下指令:

mongosh –port 27019 (注:连接的端口可以在3个端口中任选一个)

连接成功表现如下

注:不需要关注我图中涂黑的内容,这时候这里是没东西的

第五步初始化副本集

在刚刚验证打开mongosh窗口中输入如下指令

rs_conf={_id:"rs0",members:[{_id:0,host:"127.0.0.1:27017",priority:1},{_id:1,host:"127.0.0.1:27018",priority:2},{_id:2,host:"127.0.0.1:27019",priority:3}]}

按回车确认

之后再执行指令rs.initiate(rs_conf)

便可以将副本集初始化完成

此时输入rs.status()指令,便可以查看副本集中的成员及成员状态,如下:

 

注:初始化完成时,要注意成员的状态为Primary和Secondary这个两个的才是正常状态,如果出现其他状态,如:not health之类的就要排查问题了

第六步创建超级用户

注意到上图中的成员状态为Primary的,这个才是我们的主节点,所以我们需要通过新打开cmd命令提示符窗口,重新输入指令 mongosh –port 27019,进行主节点连接,连接完成如下

此时再次执行指令:use admin,将操作切换到admin数据库

这时候再输入指令:db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "root", db: "admin" } ] } ),就可以创建出超级用户admin了

注:超级用户的创建需要切换到其他数据库才能创建成功,不能在test数据库中创建

第七步开启用户验证

将下列配置分别加入3个实例配置中

#开启用户认证

auth=true

#秘钥文件路径

keyFile=G:\MongoDB\moshou\db1\keyFile

此时的实例配置内容为:

同时你需要将keyFile文件分别放置在db1,db2,db3这个三个文件夹下(mongodb的keyFile文件怎么生成,大家就另行查找了哈)

此时关闭3个实例窗口,并再次开启

再通过mongosh –port 27019进行连接

当连接成功后,输入rs.status()指令时,提示需要用户验证,如下图:

那么就验证开启成功了

此时通过use admin,先切换数据库,再通过db.auth(“admin”,”123456”)进行验证后,再执行rs.status()指令,就可以查看信息了,如下图

之后你就可以开始愉快的玩耍了

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值