项目中想用mongodb,于是抽时间了解了下,以此片博客作为记录。
从官网下载最新版本的mongodb,我选择的是window系统的zip格式,下载完成后直接解压到D:\mongodb\目录下,这个是作为备份用的,我在D:\test\目录下新建三个目录
mongodb1、mongodb2、mongodb3,将mongodb目录下的文件分别拷贝三份到新建的目录里,mongodb1作为主服务器,mongodb2作为从服务器,mongodb3最为仲裁服务器,下面分别对三个服务器进行配置。
在mongodb1目录下新建data和log文件夹,log中放master.log存放日志,data文件夹下建master文件夹,里面放master.conf配置文件,其他两个类似,具体如下图:
同理,mongodb2如下:
mongodb3文件夹如下:
只需要注意红框中的内容即可,其他都是连接数据库后生成的,不需要管。
然后是三个配置文件的代码:
master.conf
- #master.conf
- dbpath=/test/mongodb1/data/master
- logpath=/test/mongodb1/log/master.log
- #master=true
- pidfilepath=/test/mongodb1/master.pid
- directoryperdb=true
- logappend=true
- replSet=testrs
- port=27017
- oplogSize=10000
- noprealloc=true
slaver.conf
- #slaver.conf
- dbpath=/test/mongodb2/data/slaver
- logpath=/test/mongodb2/log/slaver.log
- #source=127.0.0.1:27017
- pidfilepath=/test/mongodb2/slaver.pid
- directoryperdb=true
- logappend=true
- replSet=testrs
- port=27018
- oplogSize=10000
- noprealloc=true
arbiter.conf
- #arbiter.conf
- dbpath=/test/mongodb3/data/arbiter
- logpath=/test/mongodb3/log/arbiter.log
- pidfilepath=/test/mongodb3/arbiter.pid
- directoryperdb=true
- logappend=true
- replSet=testrs
- port=27019
- oplogSize=10000
- noprealloc=true
从网络资源看,别人有设置fork=true这个的,在linux下是没问题的,在windows下回报错,我直接给去掉了,不影响。
参数解释:
dbpath:数据存放目录
logpath:日志存放路径
pidfilepath:进程文件,方便停止mongodb
directoryperdb:为每一个数据库按照数据库名建立文件夹存放
logappend:以追加的方式记录日志
replSet:replica set的名字
bind_ip:mongodb所绑定的ip地址
port:mongodb进程所使用的端口号,默认为27017
oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%
fork:以后台方式运行进程
noprealloc:不预先分配存储
由于我是在一台电脑上测试的,所以我把bind_ip去掉了,加上会有错误。
配置文件都配置完了,下面开始启动。我为了方便写了四个简单的批处理命令,如下:
主服务器启动.bat
- @echo off
- d:
- cd test\mongodb1\bin
- mongod -f d:\test\mongodb1\data\master\master.conf
从服务器启动.bat
- @echo off
- d:
- cd test\mongodb2\bin
- mongod -f d:\test\mongodb2\data\slaver\slaver.conf
仲裁服务器启动.bat
- @echo off
- d:
- cd test\mongodb3\bin
- mongod -f d:\test\mongodb3\data\arbiter\arbiter.conf
配置节点.bat
- @echo off
- d:
- cd test\mongodb1\bin
- mongo 127.0.0.1:27017
- use admin
- cfg1={_id:"testrs", members:[{_id:0,host:'127.0.0.1:27017',priority:1}, {_id:1,host:'127.0.0.1:27018',priority:1},{_id:2,host:'127.0.0.1:27019',arbiterOnly:true}]};
- rs.initiate(cfg)
- rs.status()
这个配置节点有可能不会执行完,如果执行到mongo 192.168.1.141:27017这停止了,就接着在命令窗口输入下面的命令,一条命令一个回车。地址是我的ip,改成自己的即可。
如果一开始建的文件目录和我不一样要修改这四个启动文件的。
最后成功应该会出现我这个界面:
然后可以用mongodb可视化工具连接上mongodb测试下集群是否搭建成功,我用的Robomongo连接测试的如下:
会发现在主服务器添加数据后从服务数据也会改变,当关闭主服务器时,在配置节点输入rs.conf()会发现从服务器27018端口这个服务器的的数据会变成如下:
primary表示主服务器。再次对数据进行增删改,然后启动主服务器,发现数据是一样的。
将所有的文件打包,目录如下:
本人遇到的一个啃。对于主从数据库。不能用mongodb本身的数据库,要新建一个数据库才能实现。
代码下载:
链接:https://pan.baidu.com/s/1z-4eYVri7dz0itkrihb7Tw 密码:e8n6
相关推荐
Win7+MongoDB分片部署方案,讲述在win7或win server环境下搭建mongodb集群的详细方法,内容来自本机实际操作,亲测可用
这款软件在Windows平台上也有很好的支持,正如“Mongodb-win32-x86_64-2008plus-2.6.7.rar”这个压缩包所表示的,这是专为Windows x86_64(64位)系统设计的MongoDB版本,兼容Windows Server 2008 R2及更高版本。...
- MongoDB Compass:mongodb-compass-1.26.1-win32-x64 在上述环境中,配置文件应分别针对三个节点设置不同的端口和数据存储路径,然后依次启动每个服务。初始化和添加成员的操作需要在MongoDB shell中执行,确保...
10. **扩展性**:当单个MongoDB实例无法满足需求时,可以学习如何搭建复制集或分片集群,以实现数据的冗余和水平扩展。 总之,"mongodb官方安装包"的使用不仅涉及安装过程,还包括一系列的配置、管理和维护工作,...
这个“mongodb-win32-x86_64-3.0.6”压缩包提供了MongoDB针对Windows 64位系统的免安装版本,非常适合开发者在本地快速搭建测试环境或者进行学习。 MongoDB 3.0.6 版本是其发展中的一个重要里程碑,它引入了许多...
* MongoDB 6.0 版本的集群搭建可能会报错,解决方法是更换 3.4 版本。 * win10 运行结果及报错内容重复报错的内容如下{"t":{"$date":"2021-12-14T15:14:54.134+08:00"},"s":"I", "c":"-", "id":4939300, "ctx":...
安装配置, Mongodb集群搭建, MongoDB 监控
在"mongodb-win32-i386-1.8.5"这个文件中,我们可以看到这是MongoDB的一个旧版本,针对Windows 32位系统的安装包。安装MongoDB通常包括下载对应平台的二进制包,配置环境变量,创建数据存储目录,并启动服务器。在旧...
本课程环境:MongoDB 4.0.10,win7本课程为MongoDB实践课程,围绕MongoDB的安装,图形化工具的引入,CRUD实战演练,聚合技术的使用、索引的介绍、索引优化、性能优化、副本集搭建及分布式分片集群的搭建和原理解析...
MongoDB 是一个流行的开源文档型数据库,以其高性能、高可用性和可扩展性著称。在本文中,我们将探讨 MongoDB 的两个关键特性:副本集和分片,并通过示例进行详细解释。 **一、MongoDB 副本集** 副本集是 MongoDB ...
1. **Psi-1.3-win64-setup.exe**:这很可能是 Psi,一个流行的XMPP(Extensible Messaging and Presence Protocol)即时通讯客户端,用于支持 Jabber/XMPP 协议的聊天和服务。Psi 提供了多种语言支持,包括文字、...