centos7搭建 mongodb 主从复制
首先 在目录下面新建三个文件夹 分别 conf data logs
新建conf配置文件
# mongodb 配置文件
port=28001 #端口
bind_ip=0.0.0.0 #默认是127.0.0.1
dbpath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/data/28001 #数据库存放
logpath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/logs/28001.log #日志文件
fork=true #设置后台运行
#auth=true #开启认证
logappend=true # 日志叠加
pidfilepath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/data/28001/28001.pid # 进程id
oplogSize=1024 # 操作日志最大值 m单位
replSet=pigs # 自定义的名称
分别复制2两个 28002.conf 28003.conf
cp 28001.conf 28002.conf
编辑28002.conf 28003.conf 然后使用全局替换的方式 我这里都替换了
vi 28002.conf
/1,$s/28001/28002/g # 全局替换
然后现在data目录下新建3个目录 分别是 28001 28002 28003 记得要切换目录
mkdir 28001 28002 28003
分别启动他们
mongod --config 28001.conf
mongod --config 28002.conf
mongod --config 28003.conf
ps -aux|grep mongod # 查看进程
现在都已经启动了,连接测试一下
mongo mongodb://localhost:28001
切换到 admin 库中
use admin # 使用admin库
#编辑 config 配置文件 ip地址不建议添写 localhost 或者 127.0.0.1
config={
... _id:"pigs",
... members:[
... {_id:0,host:"192.168.136.128:28001"},{_id:1,host:"192.168.136.128:28002"},{_id:2,host:"192.168.136.128:28003"}]}
回车就会自动帮我们排序好
现在我们把28003设置为嫉妒者,当然你也可设置其他的
config.members[2] = {"_id":2,"host":"192.168.136.128:28003","arbiterOnly":true}
rs.initiate(config)
添加完成就可以建立连接了回车几下,看到很陌生不要慌这说明你已经搭建成功了
查看一下状态,你可以看到里面的状态信息
rs.status()
存取值一下,发现是没有问题的
db.pigs.insert({"name":"yang"})
db.pigs.find()
连接一下 28002 从节点
mongo mongodb://192.168.136.128:28002
不管你怎么做都是报的,这时候怎么办呢
添加从节点为true就可以了
rs.slaveOk(true)
切换一下数据库
use test
db
现在再查询发现是可以了
总结,没有什么难的,用心看代码尽量减少代码出错的,如果有什么问题就评论留言吧,第一时间回复你