mongo4.0事务使用记录(一):mongo4.0的复制集搭建

好久没写过一丢丢东西了,在工作中学了不少东西,最让我揪心的也就是mongo4.0事务的学习和应用了。当然目前仍然是小白一个,需要不断的努力和学习,现在只是单纯记录下自己的学习过程…

复制集的搭建

mongo4.0版本支持复制集,mongo4.2版本支持分布式。目前项目使用的数据库版本是4.0,因此我的学习也是基于4.0版本。
我是参考兜_兜这位博主的操作过程,但还是想简单将自己的过程写下来。
以下one中的内容转自兜_兜博文里面的内容:

One 预备工作

1.MongoDB需要4.0版本+

2.需要自己搭建MongoDB复制集,单个mongodb server 不支持事务。

事务原理:mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。mongodb各个节点常见的搭配方式为:一主一从、一主多从。主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

3.搭建复制集步骤

启动mongo主节点实例,bin目录下命令窗口执行,复制集命名 --replSet 自定义, 8080端口的数据库文件的目录文件可以自行设定,–dbpath=路径写自己的,启动后勿关闭命令窗口

eg:mongod --replSet doudou --dbpath=E:\mongoDb\data\db1 --port=8080  

启动mongo从节点实例,bin目录下命令窗口执行,复制集与主节点相同,8081端口的数据库文件的目录文件可以自行设定,–dbpath=路径写自己的,启动后勿关闭命令窗口

eg:mongod --replSet doudou --dbpath=E:\mongoDb\data\db2 --port=8081

两个节点启动后,bin目录下打开命令窗口,连接主节点

eg:mongo --port=8080

成功后如图:
在这里插入图片描述
命令初始化:rs.initiate()
效果如图:
成功的结果是(ok项是1,失败是0)
成功的结果是(ok项是1,失败是0)

查看是否是主节点:rs.isMaster()
查看复制集状态: rs.status()
初始化配置:rs.conf()
向主节点添加从节点:rs.add("localhost:8081")
查看主节点状态:rs.status()
复制集配置完成。

Two 启动

以自己的启动方式为例,在mongo软件的bin目录下启动三个命令框(当然啦,如果您将mongo配置了全局变量,直接win + r --> cmd,然后直接输命令就行了),然后依次输入:
每个都不能关闭!!!!

eg:
mongod --replSet mongo --dbpath D:\MongoDB\data\db1 --port=8081
mongod --replSet mongo --dbpath D:\MongoDB\data\db2 --port=8082
mongo --port=8081

结果如下:
在这里插入图片描述
如果显示mongo:SECONDERY>

  • 输入rs.isMaster(),如果显示成了mongo:PRIMARY>,则启动成功
  • 若显示还是mongo:SECONDERY>,请把这个命令窗口关掉,过一会重新打开输入第三个命令
  • 若显示还是mongo:SECONDERY>,请将第二个命令窗口也关掉,过一会重新打开输入第二个命令,再过一会启动另一个命令窗口输入第三个命令

疑惑:难道是和mongo的启动链接时间有关???? 求解答

到此为止,mongo数据库的复制集就可以使用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章