MongoDB详解(六)——MongoDB主从同步配置

今天继续给大家介绍Linux运维相关知识,本文主要内容是MongoDB主从同步配置。

一、环境准备

今天,我们来配置一下MongoDB的主从架构,我们使用两台设备,分别作为MongoDB的主库和从库,设备及其IP地址如下所示:
MongoDB主库:192.168.136.11
MongoDB从库:192.168.136.12
我们在配置前,需要进行非常重要的预准备工作,即关闭防火墙以及在主从设备上同步当前时间。否则,任何一个地方出现问题,都有可能导致我们实战失败。
关于MongoDB数据库的安装已经在上文MongoDB详解(四)——MongoDB数据库安装中介绍过,在这里就不过多赘述了。本文在两台设备上都已经成功安装MongoDB数据库的基础上进行。

二、主从数据库配置

接下来,我们就正式开始MongoDB主从数据库的配置。
要开启MongoDB数据库的主从同步功能,我们就不能按照MongoDB默认的方式来进行启动,我们必须要先创建MongoDB数据库的配置文件,在MongoDB数据库启动时,使其按照配置文件的设定来进行启动。
我们创建MongoDB的配置文件为/usr/local/mongodb/mongod.conf,并且在文件中写入如下内容:

bind_ip=0.0.0.0
replSet=pzz

在上述配置中,bind_ip表明了MongoDB数据库启动后监听的IP地址,在默认情况下,MongoDB数据库会只监听127.0.0.1,replSet参数指定了MongoDB数据库的主从同步集群名称。配置完成后的文件如下所示:
在这里插入图片描述
在这里,我们在主库和从库上配置完全相同的配置文件,设置MongoDB数据库按照配置文件启动需要在mongod命令后面加上-f参数来指定启动文件,命令如下所示:

mongod -f /usr/local/mongodb/mongod.conf

我们在MongoDB的主从数据库上同时执行上述命令,使得MongoDB数据库启动。
在MongoDB数据库启动后,我们先登录到主库上,执行命令:

rs.status()

查看当前主从同步集群状态如下所示:
在这里插入图片描述
之后,我们先定义一个有关于主从同步的变量,执行命令:

var config={_id:"pzz",members:[{_id:0,host:"192.168.136.11:27017"},{_id:1,host:"192.168.136.12:27017"}]}

在上述配置中,我们定义了名为config的变量,并且指定了MongoDB主从架构中的主库和从库IP和端口。接下来,我们按照该变量的配置,初始化MongoDB的主从配置,执行命令:

rs.initiate(config)

该命令执行结果如下所示:
在这里插入图片描述
此时,我们再在主库上执行命令:

rs.status()

则该命令执行结果如下所示:
在这里插入图片描述
从上图中可以看出,我们的MongoDB主从同步成功!并且在数据库主从同步成功后,主库前面会出现PRIMARY的提示符。
接下来,我们在从库上,执行命令:

rs.status()

该命令执行结果如下所示:
在这里插入图片描述
从上图中可以看出,在MongoDB数据库主从同步成功后,从库上出现SECONDARY的提示符。

三、效果检验

最后,我们来检验一下我们的MongoDB主从同步的结果。
在主库上,我们来创建数据,过程如下所示:
在这里插入图片描述
接下来,我们来到从库上,来查看我们在主库上创建的结果是否出现在了从库上。
注意,如果我们执行执行查看命令,那么结果如下所示:
在这里插入图片描述
从上图可以看出,我们在从库上查询的操作失败,这是因为在配置了MongoDB的主从同步后,在MongoDB的从库上,没有读和写的权限,因此我们无法查看数据。
我们可以执行命令:

db.getMongo().setSlaveOk()

来开启MongoDB数据库的独权限,然后再次查看MongoDB从库上的内容,结果如下所示:
在这里插入图片描述
从上图中可以看出,我们在MongoDB数据上的数据,已经自动同步给了从库,我们的MongoDB数据库主从同步配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值