MongoDB 主从备份
环境: centos 7 ,mongodb x86_64
mongodb 官网下载页:https://www.mongodb.com/download-center#community
下载完毕,解压到指定的目录,我现在就把它放到/opt目录下(是绿色版的,不用安装)
在bin/这个目录下,都是mongodb的相关工具,
常用 工具说明:
bsondump --将Bson格式的文件转储为Json 格式的数据
mongo --mongo客户端(用于连接mongodb)
mongod --mongodb数据加主服务器(用于启动mongo)
mongodump --mongodb数据库备份工具
mongoimport --用于导入数据文件到mongodb
mongostore --恢复
只是简单列出几个。。。
mongodb是要指定数据库文件与日志文件的位置的,所以我在/home目录上创建三个data目录结构都一样的文件夹
注:mongodb 搭建主从备份 至少的服务器数据为3台,否则无法实现主从备份。 在此我就只使用同一台主机,指定不同的端口与实现
三台 mongodb 服务器的主从备份 ,在现在生产中只要把IP改为真实的IP就OK
命令:
mongod --bind_ip server_ip --port 端口 --dbpath 数据文件保存路径 --logpath 日志文件/mongodb.log --replSet 服务器集群名称
三台mongo数据库服务器启动成功,
注:第一台启动的端口在:1000,数据文件保存 在/home/data1/db
第二台端口在:2000 数据文件保存 在/home/data2/db
第三台端口在3000 数据文件保存 在/home/data3/db
重点:最后那个参数 : --replSet [名字] 这个参数后面的名字 是要一样的,否则无法通讯
服务器搭建成功,接下来就初始化配置:
使用 mongo --host ip --port 连接上服务对应的服务器
连接上三台mongoDB服务器并任意选一台初始化:
注:此时如果不进入初始化并配置是什么也做不了的如图:
提示 slaveOK= false
初始化命令:
rs.initiate()
初化成功,查看服务器状态:
查看服务器当前状态:
rs.status()
可以看到 "stateStr" : "PRIMARY" 看到此选项说明此服务器已是主服务器,接下来要只要在此服务器中添加从服务器的IP与端口
在主服务器中添加副本集:
rs.add(‘从服务器IP:端口‘)
成功添加两台从服务器:
注:上面只要没报错就成功添加,也可以看到 左下角那个光标:Mserver:PRIMARY> 说明它是主服务器
至此:在主服务器中的配置结束 ,切换到从服务器中执行:rs.slaveOk() 这个命令就完成了
在主服务器初始化并成功添加从器后
在从服务器中执行:
rs.slaveOK()
最终结果:
注:只有主服务器才能写入数据,从服务器只能读,当主服务器 岩机 时,从服务器中随机有一台自动切换成主服务器,而岩机的那台
服务器修好后开机会自动切换为从服务器,并从主服务器中备份缺失的数据。
p { margin-bottom: 0.1in; line-height: 115%; background: transparent none repeat scroll 0% 0% }
a:link { color: rgb(0, 0, 128); text-decoration: underline }
原文地址:https://www.cnblogs.com/jshy/p/9574774.html