3.5-MongoDB副本集测试
2016-03-27 11:35
274 查看
*MongoDB副本集测试
主上建库,建集合
>use mydb #建库
>db.acc.insert({AccountID:1,UserName:"123",password:"123456"}) #插入数据
>show dbs #查看库
从上查看
>show dbs
若出现错误Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" },需要执行
>rs.slaveok()
*MongoDB副本集更改权重模拟主宕机
默认三台机器权重都为1,如果任何一个权重设置为比其他的高,则该台机器马上切换为primary角色,所以我们预设三台机器的权重分别为:111:3,112:2,101:1
在主上执行
cfg = rs.conf() #重新赋值
cfg.members[0].priority = 3
cfg.members[1].priority = 2
cfg.members[2].priority = 1
rs.reconfig(cfg) #重新加载
这样的话,第二个节点将会成为候选主节点。
主上执行 iptables -I INPUT -p tcp --dport 27017 -j DROP
弊端:mongodb可以自动切换主从,而用户端无法自动切换到新的主上。需要手动来切换。
当原来的主宕机之后,在新的主恢复之前,原主写入的数据也会同步到新的主上。
主上建库,建集合
>use mydb #建库
>db.acc.insert({AccountID:1,UserName:"123",password:"123456"}) #插入数据
>show dbs #查看库
从上查看
>show dbs
若出现错误Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" },需要执行
>rs.slaveok()
*MongoDB副本集更改权重模拟主宕机
默认三台机器权重都为1,如果任何一个权重设置为比其他的高,则该台机器马上切换为primary角色,所以我们预设三台机器的权重分别为:111:3,112:2,101:1
在主上执行
cfg = rs.conf() #重新赋值
cfg.members[0].priority = 3
cfg.members[1].priority = 2
cfg.members[2].priority = 1
rs.reconfig(cfg) #重新加载
这样的话,第二个节点将会成为候选主节点。
主上执行 iptables -I INPUT -p tcp --dport 27017 -j DROP
弊端:mongodb可以自动切换主从,而用户端无法自动切换到新的主上。需要手动来切换。
当原来的主宕机之后,在新的主恢复之前,原主写入的数据也会同步到新的主上。
相关文章推荐
- 3.4-MongoDB副本集搭建
- 3.3-MongoDB库和集合管理
- 3.2-MongoDB连接和用户管理
- 3.1-MongoDB安装
- 3.0-MongoDB介绍
- 基于MongoDB GridFS的图片存储
- mongodb OSX
- OSX mongodb安装
- mongodb技巧总结
- python&MongoDB
- mongodb用mongoose取到的对象不能增加属性
- Windows下MongoDB安装与PHP扩展
- CentOS 手工编译、手动编译安装 MongoDB
- 关于MongoDB的安装与使用
- MongoDB学习10_MongoDB入门篇_基本操作
- Yii2 mongodb 扩展的where的条件加入大于 小于号
- 项目中使用mongodb的尝试
- yum安装mongodb
- MongoDB Driver:使用正确的姿势连接复制集
- Mongodb 安装c++driver Ubuntu