千家信息网

mongodb 副本搭建(一主两备)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,mongodb 副本搭建(一主两备)主:192.168.0.237备1:192.168.0.122备2:192.168.0.123三台机器同样操作tar zxf mongodb-linux-i686-
千家信息网最后更新 2026年11月01日mongodb 副本搭建(一主两备)

mongodb 副本搭建(一主两备)

主:192.168.0.237

备1:192.168.0.122

备2:192.168.0.123

三台机器同样操作

tar zxf mongodb-linux-i686-1.8.1.tgz

mv mongodb-linux-i686-1.8.1 /usr/local/mongodb

cd /usr/local/mongodb/

mkdir etc

mkdir logs

cd logs/

touch mongodb.log

cd ..

cd etc/

vi mongodb.cnf

加入

dbpath=/data/cc

mkdir /data/cc

/usr/local/mongodb/bin/mongod --dbpath=/data/cc --logpath=/usr/local/mongodb/logs/mongodb.log -f /usr/local/mongodb/etc/mongodb.cnf --replSet repset --fork

全部安装并启动成功

在三台机器上任意一台机器登陆mongodb

/usr/local/mongodb/bin/mongo


#使用admin数据库

use admin

#定义副本集配置变量,这里的 _id:"repset" 和上面命令参数" -replSet repset" 要保持一样。

config = { _id:"repset", members:[

... {_id:0,host:"192.168.0.122:27017"},

... {_id:1,host:"192.168.0.123:27017"},

... {_id:2,host:"192.168.0.237:27017"}]

... }

#输出

{

"_id" : "repset",

"members" : [

{

"_id" : 0,

"host" : "192.168.0.122:27017"

},

{

"_id" : 1,

"host" : "192.168.0.123:27017"

},

{

"_id" : 2,

"host" : "192.168.0.237:27017"

}

]

}


#初始化副本集配置

rs.initiate(config);

#输出成功


1

{

"info" : "Config now saved locally. Should come online in about a minute.",

"ok" : 1

}


#查看集群节点的状态

rs.status();

#输出


{

"set" : "repset",

"date" : ISODate("2014-05-05T10:51:50Z"),

"myState" : 2,

"members" : [

{

"_id" : 0,

"name" : "192.168.0.122:27017",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"optime" : {

"t" : 1399286403000,

"i" : 1

},

"optimeDate" : ISODate("2014-05-05T10:40:03Z"),

"self" : true

},

{

"_id" : 1,

"name" : "192.168.0.123:27017",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 920,

"optime" : {

"t" : 1399286403000,

"i" : 1

},

"optimeDate" : ISODate("2014-05-05T10:40:03Z"),

"lastHeartbeat" : ISODate("2014-05-05T10:51:48Z")

},

{

"_id" : 2,

"name" : "192.168.0.237:27017",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 920,

"optime" : {

"t" : 1399286403000,

"i" : 1

},

"optimeDate" : ISODate("2014-05-05T10:40:03Z"),

"lastHeartbeat" : ISODate("2014-05-05T10:51:48Z")

}

],

"ok" : 1

}

整个副本集已经搭建成功了。


6、测试副本集数据复制功能


#在主节点192.168.0.237 上连接到终端:

mongo 127.0.0.1


#建立test 数据库。

use test;


往testdb表插入数据。

> db.testdb.insert({"test1":"testval1"})


#在副本节点 192.168.0.122、192.168.0.123 上连接到mongodb查看数据是否复制过来。

/usr/local/mongodb/bin/mongo 192.168.0.122:27017


#使用test 数据库。

repset:SECONDARY> use test;


repset:SECONDARY> show tables;

#输出

Sun Dec 29 21:50:48.590 error: { "$err" : "not master and slaveOk=false", "code" : 13435 } at src/mongo/shell/query.js:128

这是正常的,因为SECONDARY是不允许读写的,如果非要解决,方法如下:


repset:SECONDARY> rs.slaveOk();或者

repset:SECONDARY> db.getMongo().setSlaveOk();

可以看到数据已经复制到了副本集。

repset:SECONDARY> db.testdb.find();


#输出

{ "_id" : ObjectId("52c028460c7505626a93944f"), "test1" : "testval1" }




此方法出现故障需手动指定mongodb ip


副本 数据 输出 成功 数据库 机器 节点 三台 配置 功能 参数 变量 命令 手动 故障 方法 此方法 状态 终端 这是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 互联网扶贫科技 互联网科技与金融科技 广州互联网科技公司 致骋互联网科技 互联网科技的英文 致聘互联网科技 融势互联网科技 互联网金融和金融科技 互联网科技大会案例 互联网科技创新企业排名 太原新华互联网科技学校怎么样 互联网与医疗科技 互联网科技的全部知识 合肥互联网科技公司公章图片 南通创西澳互联网科技有限公司 四川互联网展示科技馆设计 本届互联网大会上的黑科技 互联网科技新闻 科技信息时代互联网发展 百单网互联网科技有限公司 科技赋能互联网健康 受益于互联网科技的高速发展 港股科技和互联网 速维有品互联网信息科技(苏州)有限公司 广州市恰铎互联网科技有限公司 长沙茂晟互联网科技有限公司 工业互联网等科技实现智能化赋能 世界互联网领先科技成果获奖 互联网界的黑科技
0