mongodb主从复制,互为主从

一:安装部署mongodb

下载可到https://www.mongodb.com/try/download/enterprise
在这里插入图片描述下载需要的版本,本文使用的mongodb-linux-x86_64-rhel70-3.2.22.tgz

主服务器:10.11.110.167
创建文件夹/usr/local/mongodb/把taz包放入其中,解压
命令

 tar -zxvf mongodb-linux-x86_64-rhel70-3.2.22.tgz

如下图:得到mongodb-linux-x86_64-rhel70-3.2.22
在这里插入图片描述
把mongodb-linux-x86_64-rhel70-3.2.22里边文件全部移动到/usr/local/mongodb/目录下,

看文件夹内是否有data和logs文件夹,如果没有就创建data,logs文件夹并在logs内创建mongodb.log文件(用来保存mongodb的日志)

进入/bin目录,创建***.conf文件(也可以叫做mongod.conf,如果是一个服务器的两个Mongodb建议这个文件用不同的名字),本服务器起名为master.conf文件
在这里插入图片描述下文为master.conf文件内容

 dbpath = /usr/local/mongodb/data #数据文件保存地址
 port = 27017 #此mongo的端口号,可以自定义
 bind_ip = 0.0.0.0 #改为0.0.0.0 #如果写127.0.0.1的话,其他服务器连不上
 logpath = /usr/local/mongodb/logs/mongodb.log #数据库日志保存路径
 source = 10.20.25.247:27017 # 这是需要同步另一个服务器数据的地址,下文会提到
 master = true #标识为主库,如果不写下边的slave就只是主库,不能互为主从
 slave = true #标识为从库,如果不写上边边的master就只是从库库,不能互为主从,从库只有读权限,没有写权限,所以master = true,slave = true都要加上

从服务器:10.20.25.247
同上边步骤同路径部署,在bin创建***.conf文件(也可以叫做mongod.conf),本服务器起名为slave.conf文件
在这里插入图片描述slave.conf内容如下

dbpath = /usr/local/mongodb/data #数据文件保存地址
 port = 27017 #此mongo的端口号,可以自定义
 bind_ip = 0.0.0.0 #改为0.0.0.0 #如果写127.0.0.1的话,其他服务器连不上
 logpath = /usr/local/mongodb/logs/mongodb.log #数据库日志保存路径
 source = 110.11.110.167:27017 # 这是需要同步另一个服务器数据的地址,上文提到过
 master = true #标识为主库,如果不写下边的slave就只是主库,不能互为主从
 slave = true #标识为从库,如果不写上边边的master就只是从库库,不能互为主从,从库只有读权限,没有写权限,所以master = true,slave = true都要加上

二:启动mongodb

进去10.11.110.167 服务器进入cd /usr/local/mongodb/bin/目录下
执行

nohup mongod --config master.conf &
nohup mongod --config mongod.conf &   #如果文件名是mongod.conf就这样写
nohup /mongod --config mongod.conf --source=10.11.110.167:27017 &
nohup mongod --config mongod.conf --source=10.11.110.167:27017 &	
#如果想通过命令设置source就这样写

二:测试

我使用连接工具分别链接10.11.110.167:27017和10.20.25.247:27017的mongo数据库

分别创建数据库llxz,在数据库中创建user集合,分别在两边添加数据,都能更新到两一个数据库,并且关闭10.11.110.167数据库服务,另一个10.20.25.247可以正常使用,再启动启动10.11.110.167服务mongo,数据会被同步过来

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值