mongodb 主从搭建

640?wx_fmt=jpeg

官网进行下包,可以下载源码包或者二进制包,本次下载的为二进制包,进行试验。

官网地址:https://www.mongodb.com/


640?wx_fmt=png


主库搭建:

mkdir mongomaster
cp mongodb-linux-x86_64-rhel62-3.6.5.tgz /app/mongomaster/
cksum mongodb-linux-x86_64-rhel62-3.6.5.tgz

640?wx_fmt=png

mv mongodb-linux-x86_64-rhel62-3.6.5 mongo

640?wx_fmt=png

640?wx_fmt=png

useradd -m -s /bin/bash -d /home/mongod mongod
chown -R mongod:mongod mongomaster/

640?wx_fmt=png

mkdir -p data log

640?wx_fmt=png

cd mongo
mkdir conf
vim mongo.conf

640?wx_fmt=png

主库配置文件内容:

logpath=/app/mongomaster/log/mongodb.log
dbpath=/app/mongomaster/data
#verbose = true
#vvvv=true
port = 27019
bind_ip = 主库ip
maxConns = 5000
directoryperdb=true
objcheck = true
#replSet = rs0
#shardsvr=true
logappend=true
nounixsocket = false
fork = true
#auth = true
cpu = true
journal=true
journalCommitInterval=100
noprealloc = false
nssize = 256
profile = 1
slowms = 200
quota = true
quotaFiles = 8
master=true

注意:bind ip 此处绑定主库的ip。fork=true为指定mongo后台运行,同时设置master=true,指定为主库。


加入环境变量:

export MONGODB_HOME=/app/mongomaster/mongo
export PATH=$PATH:$MONGODB_HOME/bin


修改用户文件限制数:

vim /etc/security/limits.conf 末尾加入如下参数:

640?wx_fmt=png

启动mongo:
./mongod -f /app/mongomaster/mongo/conf/mongo.conf

640?wx_fmt=png

查看主库mongo进程已经起来了。

640?wx_fmt=png

主库的mongo搭建完毕。开始搭建从库。

从库搭建:创建从库上放程序的目录和用户,并加入环境变量,修改打开文件数等等,并清空data目录和log目录。


mkdir mongoslave
scp -r /app/mongomaster/* username@ip:/app/mongoslave
cd data
rm -rf *
cd log
rm -rf *

640?wx_fmt=png

指定从库配置文件:

640?wx_fmt=png

从库配置内容:

logpath=/app/mongoslave/log/mongodb.log
dbpath=/app/mongoslave/data
#verbose = true
#vvvv=true
port = 27019
bind_ip =从库ip
maxConns = 5000
#directoryperdb=true
objcheck = true
#replSet = rs0
#shardsvr=true
logappend=true
nounixsocket = false
fork = true
#auth = true
cpu = true
journal=true
journalCommitInterval=100
noprealloc = false
nssize = 256
profile = 1
slowms = 200
quota = true
quotaFiles = 8
slave=true
source=主库ip:主库端口

注意:bind_ip为从库ip地址,指定角色为slave=true,source后面为主库ip:端口。表示从主库同步数据。

启动mongo:

640?wx_fmt=png

查看mongo进程已经起来了。

640?wx_fmt=png



接下来进行主从测试,看数据是否同步


现在主库上进行登录mongo,建库,建表,并插入数据。

登录 mongodb

./mongo 主库ip:主库端口

640?wx_fmt=png

show dbs --显示mongo默认认证库和系统库。
创建数据库
use tigergao
db.tigergao.insert({"name":"mongo主从"})
show dbs
db.tigergao.find()

640?wx_fmt=png

接下来在从库上验证是否有这个数据库以及这张表和这条数据。在从库上进行操作。

链接mongo,同样在从库上进行登录:./mongo 从库ip:从库端口

640?wx_fmt=png

rs.slaveOk();
show dbs

640?wx_fmt=png

可以看到从库上已经把主库的数据自动同步过来了,也代表主从搭建成功了。还可以看一下从库的日志里面也会包含主库的信息:

cd /app/mongoslave/log
tailf mongodb.log

日志里面显示的是主库的信息。

640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值