MongoDB 复制集搭建
- 下载 MongoDB: https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.6.zip
- 解压 MongoDB 安装包
在安装目录下新建 data/conf/log
3个文件夹,在conf文件夹下新建 mongo.config
,在mongo.config中配置如下内容:
# Where and how to store data. storage: dbPath: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\data journal: enabled: true # where to write logging data. systemLog: destination: file logAppend: true path: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\log\mongod.log # network interfaces net: port: 27018 bindIp: 127.0.0.1
在 log 文件夹下创建一个 mongod.log
文件,然后分别进行拷贝两份,我这里分别有三分,端口号分别是,27018
, 27019
, 27020
:
!> 注意修改 config 中的文件里面的 data 与 log 存放地址与端口号
注册配置 MongoDB
注册成服务:
mongod --config D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\conf\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --replSet "it6666" --install mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27019\conf\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --replSet "it6666" --install mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27020\conf\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --replSet "it6666" --install
!> 注意以上的 --config
记得更换成你自己的
- 手动启动服务
- 测试连接
mongo --host 127.0.0.1 --port 27018
mongo --host 127.0.0.1 --port 27019
mongo --host 127.0.0.1 --port 27020
初始化复制集
!> 在三台当中的其中一台进行执行如下命令即可初始化完毕:
rs.initiate({ _id: 'it6666', members: [ {_id: 0, host: '127.0.0.1:27018'}, {_id: 1, host: '127.0.0.1:27019'}, {_id: 2, host: '127.0.0.1:27020'}] })
其它相关参数:
- _id 整数:节点的唯一标识
- host 字符串:节点的IP地址,包含端口号
- arbiterOnly 布尔值:是否为投票节点,默认是false。是设置投票(选举)节点有关的参数
- priority 整数:选举为主节点的权值,默认是1,范围0-1000
- hidden 布尔值:是否隐藏,默认false,是设置隐藏节点有关的参数
- votes 整数:投票数,默认为1,取值是0或1,是设置”投票“节点有关的参数
- slaveDelay 整数:延时复制,是设置延时节点有关的参数。单位秒(s)
在主节点写入读取
只能在主节点写,因为其它节点不能写只能读默认情况下副节点是不可以读取的想要在副节点读取要开启执行 rs.slaveOk()
即可: