Windows环境下MongoDB开启单节点多副本
前言
众所周知,MongoDB只能在多副本模式下使用事务。
但是如果我们不想开启多个节点,又想使用多副本模式该怎么办呢?
步骤
安装所需软件
MongoDB
本地使用,若没什么需要企业版的功能直接下载社区版即可;
官方下载网址:https://www.mongodb.com/try/download/community
(记得选择msi)
在安装界面选择“Custom”
(这一步如果有navicat或者其他的数据库连接软件的话就不用勾选“Install MongoDB Compass”了)
安装完成记得重启
Mongosh
mongodb官方给出表示,在mongodb4.5的版本中逐渐弃用mongo的shell命令来连接数据库,改用mongosh,在6版本中已经完全弃用mongo这个shell命令,故而需要在下载一个shell来连接mongodb数据库
网址:https://www.mongodb.com/try/download/shell?jmp=docs
记得选msi
(安装界面选不选私有无所谓)
(注意这里/data和/log目录要选择MongoDB安装目录下的/log跟/data哦)
配置环境变量
打开系统环境变量
在path变量下配置刚刚安装MongoDB的bin目录,如图:
修改配置文件
在MongoDB安装目录下找到 MongoDB 的配置文件 mongod.cfg
添加如下配置,注意格式:replSetName
前面是 4 个空格而不是 tab 字符
replication:
replSetName: rs0
然后重启 MongoDB 服务,任务管理器-服务-MongoDB-(右键)重新启动
运行命令行
打开cmd,输入
mongosh --port 27017
rs.initiate()
然后就可以使用MongoDB的事务啦~
常见问题
重启电脑之后用Navicat连接MongoDB报错
在任务管理器-服务中找到MongoDB右键"重新启动"即可
参考资料
MongoDB 运行事务时报“Transaction numbers are only allowed on a replica set member or mongos“错误_