时间:2021-07-01 10:21:17 帮助过:24人阅读
mongod --dbpath D:\mongodata\5555 --replSet mySet --port 5555启动服务后,另打开一个命令提示符进行登陆
mongo --port 5555接着定义变量,运行:
conf = {_id:"mySet",members:[{_id:0,host:"127.0.0.1:5555"}]}回车 接着运行:
rs.initiate(conf)回车显示如下: 接着你输入:
db.isMaster()会显示出你的当前数据库服务实例已经加到副本集中,并且是master,如图: 第三步:启动本地其他的服务,加入到副本集中,即127.0.0.1:5555和127.0.0.1:6666 打开2个命令提示符,分别输入并回车
mongod --dbpath D:\mongodata\6666 --replSet mySet --port 6666
mongod --dbpath E:\mongodata\7777 --replSet mySet --port 7777
另外在本地打开命令提示符,登陆master:
mongo --port 27017接着添加刚刚那2个服务实例到副本集中,分别输入并回车:
rs.add("127.0.0.1:6666")
rs.add("127.0.0.1:7777")
显示如下:
添加成功了,此时你可以登陆任意机器输入rs.status()查看集合,我登陆的是slave 127.0.0.1:7777
如图:
第四步:添加虚拟机的数据库服务器到副本集中
即192.168.228.134:27017
方法基本同上:到虚拟机中先启动服务,同样运行
mongod --dbpath d:/data --replSet mySet --port 27017
接着回到本机,打开命令提示符,登陆master
mongo --port 27017
同上接着添加虚拟机的服务到副本集中
rs.add("192.168.228.134:27017")
一切ok了
测试:
1 登陆master 插入一些数据,再去slave里看 同样存在,复制成功。
注意:新建的slave是不能读和写的,当在从服务器上读时会出现errmsg:not master and slaveOk=flase code:13435 错误,需要执行:rs.slaveOk()来开启读功能
2 关闭master的窗口(即停止master服务)后,原来的master无法访问,另外的一个slave变成了master,依然可以正常添加修改数据
3 登录任意服务实例,运行rs.isMaster()可以查看当前服务是否是master,运行rs.status()查看副本群内部情况
mongodb3.2副本集配置
标签:article 提示符 www 查看 href 启动服务 god 地址 host