说明:
参数--replSet设置一样,才能属于同一个复制集 参数--smallfiles可以节省空间,提高速度。
然后使用ps aux | grep mongo可以查看到启动起来的三个端口。
(2)配置
使用客户端连接mongo进行配置:
要管理配置,所以切换到admin上:
(配置是json格式)
如果没有配置ip,使用127.0.0.1
执行后,使用 printjson(rsconf)查看刚才的配置。
然后执行初始化:
查看节点:
删除节点:
添加节点:
切换节点:
默认是在27017端口,即rs2:PRIMARY>状态, 退出mongo客户端命令模式, 切换到另一个端口:
即切换到rs2:SECONDARY>状态。
测试:
在主服务上,创建库和集合,
去从服务上查看
show dbs
然后看到有错误,具体错误信息是:
... "errmsg" : "not master and slaveOk=false", ...
是因为slave默认不允许读写:
然后就可以看到主服务器创建的库和集合了。
同理27019也需要执行这个命令才能自动同步和读写。
当主服务器27017停掉的时候, 第二个27018就自动变成主服务器master状态。 但是27019需要再次执行rs.slaveOk()才能自动同步读写。
shell脚本:
希望本文所述对大家MongoDB数据库程序设计有所帮助。