mongodb主从搭建
#tigergao
官网进行下包,可以下载源码包或者二进制包,本次下载的为二进制包,进行试验。
![](https://img2018.cnblogs.com/blog/1722899/201906/1722899-20190623202442768-639186730.png)
主服务器搭建: mkdir mongomaster cp mongodb-linux-x86_64-rhel62-3.6.5.tgz /app/mongomaster/
![](https://img2018.cnblogs.com/blog/1722899/201906/1722899-20190623202540346-456833356.png)
mv mongodb-linux-x86_64-rhel62-3.6.5 mongo useradd -m -s /bin/bash -d /home/mongod mongod chown -R mongod:mongod mongomaster/ mkdir -p data log cd mongo mkdir conf vim mongo.conf 主库配置文件内容: 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 末尾加入如下参数: 启动mongo: ./mongod -f /app/mongomaster/mongo/conf/mongo.conf 查看主库mongo进程已经起来了。
主库的mongo搭建完毕。开始搭建从库。 从库搭建:创建从库上放程序的目录和用户,并加入环境变量,修改打开文件数等等,并清空data目录和log目录。 mkdir mongoslave scp -r /app/mongomaster/* username@ip:/app/mongoslave cd data rm -rf * cd log rm -rf * 指定从库配置文件: 从库配置内容: logpath=/app/mongoslave/log/mongodb.log dbpath=/app/mongoslave/data #verbose = true #vvvv=true port = 27019 bind_ip = 从库IP maxConns = 500 #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: 查看mongo进程已经起来了。
接下来进行主从测试,看数据是否同步。
现在主库上进行登录mongo,建库,建表,并插入数据。
登录./mongo 主库ip:主库端口
show dbs 显示mongo默认认证库和系统库。
创建数据库
use tigergao
db.tigergao.insert({"name":"mongo主从"})
show dbs
db.tigergao.find()--查询数据
![](https://img2018.cnblogs.com/blog/1722899/201906/1722899-20190623202809704-1582679745.png)
接下来在从库上验证是否有这个数据库以及这张表和这条数据。在从库上进行操作。
链接mongo:
同样在从库上进行登录:
rs.slaveOk();
show dbs
![](https://img2018.cnblogs.com/blog/1722899/201906/1722899-20190623202840461-723683875.png)
可以看到从库上已经把主库的数据自动同步过来了,表示主从搭建成功。
可以看一下从库的日志里面也会包含主库的信息:
cd /app/mongoslave/log
tailf mongodb.log日志里面显示的是主库的信息。
![](https://img2018.cnblogs.com/blog/1722899/201906/1722899-20190623202900811-1456389747.png)