Centos7 mongodb主从复制部署
一,MongoDB可采用源码编译,也可以yum方式安装,源码包请自行网站下载,编译过程略。
二,主要说说配置过程
#master.conf dbpath=/data/mongodb/data #主数据库地址 port=27017 #主数据库端口号 bind_ip=x.x.x.x #主数据库所在服务器 master=true #确定我是主服务器 #启动 ./bin/mongod -f ./conf/master.conf
#停止
./bin/mongod --shutdown -f ./conf/xxx.conf
#可查看日志,是否正启动。 #slave.conf dbpath=/data/mongodb/data #主数据库地址 port=27017 #主数据库端口号 bind_ip=x.x.x.x #主数据库所在服务器 slave=true #确定是从服务器 #启动 ./bin/mongod -f ./conf/slave.conf
#停止
./bin/mongod --shutdown -f ./conf/xxx.conf
三,从本地登录MongoDB进行测试
#master 测试 >show dbs; #不报任何错即可。 #slave 测试 >show dbs; E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1 shellHelper.show@src/mongo/shell/utils.js:760:19 shellHelper@src/mongo/shell/utils.js:650:15 #发现报错 > rs.slaveOk() --------------------------上面错的原因是从服务器上的数据库是不允许进行读写操作,所以就会报类似于这样的错误,这句是解决方法。 > show dbs #不报错即可。 #1,查看主节点 > use local switched to db local > db.sources.find() { "_id" : ObjectId("5780fa510006dc38178d308f"), "host" : "127.0.0.1:27017", "sour ce" : "main", "syncedTo" : Timestamp(1468071571, 1) } > #2,挂载到哪个主节点下 db.sources.insert({“host”:”127.0.0.1:27017”}) #3,删除被挂载的节点 db.sources.remove({“host”:”127.0.0.1:27017”}) #备注:主从备份中,主服务器是可以增加用户的,但是从服务器上不允许增加用户,会报下面的错。此点还没有详细看是不允许增加所有用户,还是不允许增加超级用户,暂时先不做研究