mongodb不同版本實現主從復制

jopen 9年前發布 | 10K 次閱讀 MongoDB NoSQL數據庫

    mongoDB有一個主要特性就是復制,有多種復制形式,其中,主從復制是比較常用的一種。

    主從復制的工作原理:首先要有兩個或更多的服務器,其中一個是主節點,負責處理客戶端的請求,其他的都是從節點,負責映射主節點的數據。主節點記錄在其上執行的所有操作,從節點定期輪詢主節點獲得的這些操作,然后執行這些操作。由于從節點和主節點執行了相同的操作,從節點就能保持與主節點的數據同步。

    實戰講解一下mongodb的搭建和主從復制,因為只有一臺服務器,所以只能通過修改端口號實現mongodb的主從,而不是通過多臺服務器實現。其實原理是一樣的~,只是這樣做實際意義不大~

    之前已經裝了一個版本的mongodb(2.6.11),既然現在mongodb已經更新到了3.0.6,那么從庫就特意使用3.0.6,反正是測試用途,就不管那么多了~ 

安裝

    mongodb下載地址

    下載mongodb3.0.6執行文件包,并解壓,把二進制執行文件放在/usr/local/mongo3.0.6目錄

配置

  主庫配置

# mongod.conf

where to log

logpath=/var/log/mongodb/mongod-27017.log

logappend=true

 fork and run in background

fork=true

port=27017

dbpath=/var/lib/mongo

dbpath=/data/mongodb/mongo-27017

 location of pidfile

pidfilepath=/var/run/mongodb/mongod-27017.pid

bind_ip=127.0.0.1,192.168.56.61

noauth=true

 Ignore query hints

nohints=true

 Disable the HTTP interface (Defaults to localhost:27017).

nohttpinterface = false rest = true

master = true</pre>

 從庫配置

# mongod.conf

where to log

logpath=/var/log/mongodb/mongod-27018.log

logappend=true

 fork and run in background

fork=true

port=27018

dbpath=/var/lib/mongo

dbpath=/data/mongodb/mongo-27018

 location of pidfile

pidfilepath=/var/run/mongodb/mongod-27018.pid

 Listen to local interface only. Comment out to listen on all interfaces. 

bind_ip=127.0.0.1,192.168.56.61

noauth=true

 Ignore query hints

nohints=true

 Disable the HTTP interface (Defaults to localhost:27018).

nohttpinterface = false rest = true

slave = true source = 127.0.0.1:27017</pre>

啟動

# 主庫啟動
/usr/local/mongo2.6.11/mongod -f /etc/mongod/mongod-27017.conf

 從庫啟動

/usr/local/mongo3.0.6/mongod -f /etc/mongod/mongod-27018.conf</pre>

認證

   不同版本的mongodb開始auth模式可以通過下面的方法來實現

   1. 先把所有主從mongodb設為unauth模式

   2. 在master添加一個賬號,這樣slave也就自動同步了該賬號

   3. 把所有主從mongodb開啟auth模式

來自:

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!