/yuanben/mongodb/mongodb/bin/mongo 192.168.0.11:27017
use admin
mgdb_rscfg={ _id:"yuanben-rs", members:[ {_id:0,host:'192.168.0.11:27017',priority:2}, {_id:1,host:'192.168.0.12:27017',priority:1},{_id:2,host:'192.168.0.13:27017',arbiterOnly:true}] }
rs.initiate(mgdb_rscfg)
通过rs.status()查看是否生效 生效后 mater slave的客户端命令显示皆有变化哦
8.2 设置从节点读权限
让slave节点支持读 *** 作,在slave节点上修改mongorc.js启动文件
vi ~/.mongorc.js
加入以下内容即可:
setSlaveOk()
function setSlaveOk() {
rs.slaveOk()
print('slaveOk has been setted!’)
}
需要重启这个节点
kill -2 12595
./start.sh
8.3 创建用户
use admin
db.createUser(
{
user: “root”,
pwd: “xxxxxx”,
roles: [ { role: "root", db: "admin" } ]
}
)
db.createUser(
{
user: “scms”,
pwd: “xxxxxx”,
roles: [ { role: "readWrite", db: "scms" },{ role: "dbOwner", db: "scms" } ]
}
)
mongoDB主从数据同步主库数据小于从库,从库回滚到跟主库同步状态
从上可知,假如原来主从数据同步出了问题,主库数据量远大于从库数据量,而你并没有察觉,某次主、从、仲裁进程全部挂了
如果先起原来从库和仲裁,将原来从库选举为现在PRIMARY,然后再启原来的主库成为现在的从库,那么就会导致原来的主库也就是现在的从库数据发生回滚
显然这不是你想看到的的情况,所以务必先启动原来的主库,让其也成为现在的主库,避免此类问题的发生!
针对primary-secondary-arbiter架构,mongoDB的实例重启:
1.从arbiter日志中获取之前主节点IP
2.启动primary节点mongo进程
3.启动arbiter节点的mongo进程
4.启动secondary节点mongo进程
$ cat hosts
$ cat start_primary-secondary-arbiter.yml
$ ansible-playbook -i hosts start_primary-secondary-arbiter.yml
mongoDB副本集 stateStr状态说明
https://www.jianshu.com/p/7f196c22af43
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)