在虚拟机上建立mongoDB复制集,一主两从。@H_502_1@ 主0:127.0.01:27017@H_502_1@ 从1: 127.0.0.1:27018@H_502_1@ 从2: 127.0.0.1:27019
首先,建立路径放置各个mongodb进程的数据文件、日志文件。@H_502_1@ 主0: mkdir -p data/db0@H_502_1@ 从1: mkdir -p data/db1@H_502_1@ 从2: mkdir -p data/db2
开启mongodb进程@H_502_1@ mongod --port 27017 --dbpath data/db0 --logpath data/db0/db.log --replSet zwstest --fork@H_502_1@ mongod --port 27018 --dbpath data/db1 --logpath data/db1/db.log --replSet zwstest --fork@H_502_1@ mongod --port 27019 --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest --fork
在另外的终端中登录@H_502_1@ mongo --port 27017
配置文件@H_502_1@ cfg={@H_502_1@ _id:"zwstest", @H_502_1@ members:[@H_502_1@ {_id:0, host:'127.0.0.1:27017'},@H_502_1@ {_id:1, host:'127.0.0.1:27018'}, @H_502_1@ {_id:2, host:'127.0.0.1:27019'}@H_502_1@ ]}@H_502_1@ 初始化@H_502_1@ rs.initiate(cfg)@H_502_1@ 查看主从复制状态@H_502_1@ rs.status()@H_502_1@ 一段时间后,现在所在终端的界面将会变为primary开头。
测试:在primary中插入一条数据,在从服务器中查看。@H_502_1@ primary>use test@H_502_1@ primary>db.book.insert({"name":"zhangsan"})
在另外的终端中登录@H_502_1@ mongo --port 27018@H_502_1@ secondary>rs.slaveOk()@H_502_1@ secondary>use test @H_502_1@ secondary>db.book.find()
失败情况:@H_502_1@ 1、在配置文件中加了configsvr: true@H_502_1@ cfg={@H_502_1@ _id:"zwstest", @H_502_1@ configsvr: true,@H_502_1@ members:[@H_502_1@ {_id:0, host:'127.0.0.1:27017'},@H_502_1@ {_id:1, host:'127.0.0.1:27018'}, @H_502_1@ {_id:2, host:'127.0.0.1:27019'}@H_502_1@ ]}@H_502_1@ 2、服务启动时加了 --configsvr@H_502_1@ mongod --port 27019 --configsvr --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest --fork@H_502_1@ 3、如果电脑关机了,下次只需执行开启mongodb进程即可,不需再配置,但在从服务器查询时,需rs.slaveOk()@H_502_1@ mongod --port 27017 --dbpath data/db0 --logpath data/db0/db.log --replSet zwstest --fork@H_502_1@ mongod --port 27018 --dbpath data/db1 --logpath data/db1/db.log --replSet zwstest --fork@H_502_1@ mongod --port 27019 --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest --fork
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。