天天看點

Mongodb主從配置

一:使用指令行方式配置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 

connecting to: 192.168.1.113:3306/test 

<a href="http://blog.51cto.com/attachment/201301/112217602.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201301/112204867.jpg" target="_blank"></a>

三:建立repl使用者,主要用于後續的安全認證同步

[root@server11 ~]#  /usr/local/mongodb/bin/mongo 192.168.1.112:3306 

&gt; use local 

switched to db local 

&gt; 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 

四:建立普通使用者yang,master端建立即可

&gt; use admin 

switched to db admin 

&gt; db.addUser('yang','123') 

&gt; show users 

        "_id" : ObjectId("50fce0bd15861bedf081584a"), 

        "user" : "yang", 

        "pwd" : "c26040a2869fb7579c83e85c54faaffa" 

&gt; 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 &amp; 

[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 &amp; 

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 

&gt; db.auth('yang','123') 

再次登入web界面需要輸入使用者名和密碼!

<a href="http://blog.51cto.com/attachment/201301/112249758.jpg" target="_blank"></a>

五:使用配置檔案管理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  

bind_ip = 192.168.1.113 

dbpath = /data/mongodb/db2 

logpath = /usr/local/mongodb/logs/server2.log 

slave = true 

source = 192.168.1.112:3306 

[root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf  

all output going to: /usr/local/mongodb/logs/server2.log 

forked process: 3064 

[root@server11 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf  --shutdown 

[root@server12 ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf  --shutdown 

本文轉自斬月部落格51CTO部落格,原文連結http://blog.51cto.com/ylw6006/1123826如需轉載請自行聯系原作者

ylw6006

下一篇: Java性能