mongodb副本集无法连接到副本数据库设置副本数据可读写,哪位大神看下?
发布于 9 年前 作者 yhc-yhc 5231 次浏览 最后一次编辑是 8 年前 来自 问答

最近学着搭建mongodb数据库副本集,用了一台虚拟机装了数据库,和自己的电脑上的数据库一起配置了两个数据库,参考文章http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html, 设置成功后发现自己电脑的数据库是 PRIMARY,虚拟机的数据库是SECONDARY,可以在自己电脑上连接上数据库,但无法连接到虚拟机中的数据库,进入到虚拟机中也无法使用mongo命令连接数据库,不知道为什么,想设置成副本节点也可以读的,有谁有见过同样的问题? 把数据库都关了,在虚拟机中重新打开数据库,可以连接,而且原来电脑中应用项目的数据也可以在虚拟机中的数据库中查到。就是想做读写分离,把副本节点设置成可读的,哪位大神帮下忙?

3 回复

rs.slaveOk() ?

@elaijuh 是的,现在问题是没办法链到副本节点的数据库,怎么给设置呀?不知道为什么? #mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。 repset:SECONDARY> db.getMongo().setSlaveOk(); 这个命令不是要链接到副本节点吗?可是我无论在电脑数据库还是虚拟机中数据库都无法链接到数据库了,把副本集关了,单独开数据库,可以链上

可能是虚拟机的问题,今天重新装了mongodb,使用的版本是3.0的压缩式免安装版的,在自己电脑的c,d,e三个盘中都开了,测试没有问题,已经把github中关于此项目的cmd.txt中的命令重新整理了,谁有需要请自己挪步https://github.com/yhc-yhc/projectManage/blob/master/cmd.txt

回到顶部