1.复制MongoDB的配置文件(我这搭建两个复制集所以复制两个文件)
2.分别更改这个几个文件(主要更改圈住的几个地方)
dbPath:是存数据的路径,
systemLog.path是记录日志的路径,
net.port是数据库启动端口,
replSetName是复制集的名称,三个文件设置成一样的
3.启动MongoDB服务,并登录
在bin目录下用 mongosh --port 27017 命令登录
如果使用mongosh --port 27017命令报错不是内部或外部命令,则说明MongoDB用的是6.0以上版本,需要单独下载mongosh,安装mongosh-2.2.5-x64 (重要),把“C:\Program Files\mongosh”加到系统变量路径中,安装好之后,就可以使用mongosh --port 27017命令。
4.在test>命令窗口输入“use admin”进入管理员模式
5.admin>rs.initiate({_id:'repl1',members:[{_id:1,host:'127.0.0.1:27017'}]})
初始化参数说明:
_id:复制集名称(第一个_id)
members:复制集服务器列表
_id:服务器的唯一ID(数组里_id)
host:服务器主机
我们操作的是127.0.0.1服务器,其中repl1即是复制集名称,和mongodb.cfg中保持一致,初始 化复制集的第一个服务器将会成为主复制集)
通过rs.status()查看复制集状态可以看到,127.0.0.1:27017已被自动分配为primary主复制集了
6.admin>rs.add('127.0.0.1:27018') 增加1127.0.0.1:27018为从节点
可以看到127.0.0.1:27018:成为了secondary节点
7.rs.addArb('127.0.0.1:27019')
由主复制集添加仲裁复制集,用rs.staus()可以看到127.0.0.1:27019成为了arbiter节点
8.主从复制集之间会自动同步数据,而仲裁节点不会同步。当主从复制集的primary节点关闭后,发原本的127.0.0.1:27018节点会自动成为primary节点。当重新启动之前关闭的127.0.0.1:27017节点后,他会自动成为secondary节点。