一:使用命令列方式配置mongodb主從
- [root@server11 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.112 -port 3306 --dbpath /data/mongodb/db1/ --logpath /usr/local/mongodb/logs/server1.log --rest --master &
- [1] 14449
-
- [root@server12 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.113 --port 3306 --dbpath /data/mongodb/db2/ --logpath /usr/local/mongodb/logs/server2.log --rest --slave --source 192.168.1.112:3306 &
- [1] 16853
二:串連測試資料同步情況
- [root@server11 ~]# /usr/local/mongodb/bin/mongo 192.168.1.112:3306
- MongoDB shell version: 2.2.2
- connecting to: 192.168.1.112:3306/test
- > use test
- switched to db test
- > db.test.save({b:2})
- > db.test.find()
- { "_id" : ObjectId("50fcb7f05712bfb21c866dc6"), "a" : 1 }
- { "_id" : ObjectId("50fcdccf252ef3433457646f"), "b" : 2 }
-
- [root@server12 ~]# /usr/local/mongodb/bin/mongo 192.168.1.113:3306
- MongoDB shell version: 2.2.2
- connecting to: 192.168.1.113:3306/test
- > use test
- switched to db test
- > db.test.find()
- { "_id" : ObjectId("50fcb7f05712bfb21c866dc6"), "a" : 1 }
- { "_id" : ObjectId("50fcdccf252ef3433457646f"), "b" : 2 }
650) this.width=650;" src="http://img1.51cto.com/attachment/201301/112217602.jpg" border="0" alt="" />
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/1S3564113-1.jpg" border="0" alt="" />
三:建立repl使用者,主要用於後續的安全認證同步
- [root@server11 ~]# /usr/local/mongodb/bin/mongo 192.168.1.112:3306
- > use local
- switched to db local
- > db.addUser('repl','replication')
- {
- "user" : "repl",
- "readOnly" : false,
- "pwd" : "418b80a28664aeaeb1ec8bf792ea3052",
- "_id" : ObjectId("50fce98cc4553449b56c6e9f")
- }
-
- [root@server12 ~]# /usr/local/mongodb/bin/mongo 192.168.1.113:3306
- > use local
- switched to db local
- > db.addUser('repl','replication')
- {
- "user" : "repl",
- "readOnly" : false,
- "pwd" : "418b80a28664aeaeb1ec8bf792ea3052",
- "_id" : ObjectId("50fce98cc4553449b56c6e9f")
- }
四:建立普通使用者yang,master端建立即可
- > use admin
- switched to db admin
- > db.addUser('yang','123')
- > show users
- {
- "_id" : ObjectId("50fce0bd15861bedf081584a"),
- "user" : "yang",
- "readOnly" : false,
- "pwd" : "c26040a2869fb7579c83e85c54faaffa"
- }
-
- > db.system.users.find()
- { "_id" : ObjectId("50fce0bd15861bedf081584a"), "user" : "yang", "readOnly" : false, "pwd" : "c26040a2869fb7579c83e85c54faaffa" }
五:重啟mongodb主從執行個體,以auth方式啟動,使用者登入測試
- [root@server11 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.112 --auth --port 3306 --dbpath /data/mongodb/db1/ --logpath /usr/local/mongodb/logs/server1.log
-
- --rest --master &
- [root@server12 ~]# /usr/local/mongodb/bin/mongod --bind_ip 192.168.1.113 --auth --port 3306 --dbpath /data/mongodb/db2/ --logpath /usr/local/mongodb/logs/server2.log
-
- --rest --slave --source 192.168.1.112:3306 &
- [root@server11 ~]# /usr/local/mongodb/bin/mongo 192.168.1.112:3306
- MongoDB shell version: 2.2.2
- connecting to: 192.168.1.112:3306/test
- > use admin
- switched to db admin
-
- > show users
- Mon Jan 21 14:42:47 uncaught exception: error: {
- "$err" : "unauthorized db:test ns:test.system.users lock type:1 client:192.168.1.112",
- "code" : 10057
- }
-
- > db.auth('yang','123')
- 1
-
- > show users
- {
- "_id" : ObjectId("50fce0bd15861bedf081584a"),
- "user" : "yang",
- "readOnly" : false,
- "pwd" : "c26040a2869fb7579c83e85c54faaffa"
- }
再次登入web介面需要輸入使用者名稱和密碼!
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/1S3562H9-2.jpg" border="0" alt="" />
五:使用設定檔管理mongodb
- [root@server11 ~]# cat /etc/mongodb.conf
- fork = true
- quiet = true
- bind_ip = 192.168.1.112
- port = 3306
- dbpath = /data/mongodb/db1
- logpath = /usr/local/mongodb/logs/server1.log
- logappend = true
- journal = true
- rest = true
- master= true
- auth = true
-
- [root@server11 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf
- all output going to: /usr/local/mongodb/logs/server1.log
- forked process: 5831
- child process started successfully, parent exiting
-
- [root@server11 ~]# netstat -ntpl |grep mongo
- tcp 0 0 192.168.1.112:3306 0.0.0.0:* LISTEN 5831/mongod
- tcp 0 0 192.168.1.112:4306 0.0.0.0:* LISTEN 5831/mongod
-
- [root@server12 ~]# cat /etc/mongodb.conf
- fork = true
- quiet = true
- bind_ip = 192.168.1.113
- port = 3306
- dbpath = /data/mongodb/db2
- logpath = /usr/local/mongodb/logs/server2.log
- logappend = true
- journal = true
- rest = true
- slave = true
- source = 192.168.1.112:3306
- auth = true
-
- [root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf
- all output going to: /usr/local/mongodb/logs/server2.log
- forked process: 3064
- child process started successfully, parent exiting
-
- [root@server11 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf --shutdown
- [root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf --shutdown
參考文章:http://docs.mongodb.org/manual/administration/master-slave/
本文出自 “斬月” 部落格,謝絕轉載!