MongoDB数据库中的master/slave主从配置
最近有项目用到了MongoDB,于是测试在本地虚拟机搭建一主两从,从库可做备份,也可防止主库挂掉后变从为主。
启动主库
|
mongod -master -dbpath=/data/mongodb/master/ -port=27017
& |
启动两个从库的(5秒钟同步一次)
|
mongod -slave -source=127.0.0.1:27017
-dbpath=/data/mongodb/slave1/ -port=27018 -slavedelay 5 & mongod -slave -source=127.0.0.1:27017 -dbpath=/data/mongodb/slave2/ -port=27019 -slavedelay 5 & |
查看进程
|
[root@mms ~]# ps -ef|grep mongo root 7712 7534 0 19:26 pts/4 00:00:00 mongod -master -dbpath=/data/mongodb/master/ -port=27017 root 7721 7506 0 19:26 pts/3 00:00:00 mongod -slave -source=127.0.0.1:27017 -dbpath=/data/mongodb/slave1/ -port=27018 -slavedelay 5 root 7733 7478 0 19:26 pts/2 00:00:00 mongod -slave -source=127.0.0.1:27017 -dbpath=/data/mongodb/slave2/ -port=27019 -slavedelay 5 root 7760 7416 0 19:28 pts/1 00:00:00 grep mongo |
往主库插入一条记录
|
[root@mms ~]# mongo 127.0.0.1:27017 MongoDB shell version: 2.0.3 connecting to: 127.0.0.1:27017/test > show dbs local 0.125GB mongodbtest (empty) questiondb 0.0625GB > use mongodbtest switched to db mongodbtest > db.mongotest.save({'title':'this is test title','item':{'user':'hello','city':'beijing'}}) |
从库27018的同步情况
|
[root@mms ~]# mongo 127.0.0.1:27018 MongoDB shell version: 2.0.3 connecting to: 127.0.0.1:27018/test > show dbs local 0.0625GB mongodbtest 0.0625GB questiondb 0.0625GB test (empty) > use mongodbtest switched to db mongodbtest > db.mongotest.find() { "_id" : ObjectId("4f7d08cabf1eaec59250a52b"), "title" : "this is test title", "item" : { "user" : "hello", "city" : "beijing" } } |
从库27019的同步情况
|
[root@mms ~]# mongo 127.0.0.1:27019 MongoDB shell version: 2.0.3 connecting to: 127.0.0.1:27019/test > show dbs local 0.0625GB mongodbtest 0.0625GB questiondb 0.0625GB > use mongodbtest switched to db mongodbtest > db.mongotest.find() { "_id" : ObjectId("4f7d08cabf1eaec59250a52b"), "title" : "this is test title", "item" : { "user" : "hello", "city" : "beijing" } } |