欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB的Master-Slave主從模式配置及主從復(fù)制要點(diǎn)解析

 更新時(shí)間:2016年06月23日 17:02:57   作者:Hunk Shi  
主從復(fù)制是數(shù)據(jù)庫(kù)運(yùn)維中一種常見的備份方式,這里我們來看一下MongoDB的Master-Slave主從模式配置及主從復(fù)制要點(diǎn)解析,需要的朋友可以參考下

主從配置
mongodb的master-slave模式配置方式如下
1.keyFile
生成key_file

 openssl rand -base64 741 > mongo_key

將mongo_key 分別置于master 和 slave mongodb user可以access的地方。
設(shè)置權(quán)限

chmod 700 mongo_key

設(shè)置

onwer chown mongodb:nogroup mongo_key

2.master配置
編輯/etc/mongodb.conf, 設(shè)置如下

master = true
keyFile = /path/to/mongo_key

3.slave 配置

slave = true
source = <ip of master>
only = bookstore
keyFile = /usr/local/bookstore/mongo_key

如果只同步一個(gè)db,配置only項(xiàng),如果多個(gè)DB需同步,注釋掉only項(xiàng)。
以上設(shè)置完畢后即可啟動(dòng)master和slave了,如果配置有誤會(huì)啟動(dòng)失敗,比如key_file權(quán)限不正確,具體錯(cuò)誤可以查看/var/log/mongodb/mongodb.log。如無誤,即可在master上修改一些記錄進(jìn)行驗(yàn)證了。
4.配置更改
master-slave配置比較簡(jiǎn)單,但要修改已經(jīng)運(yùn)行正確的配置缺不是想象的那么簡(jiǎn)單。例如要更改master地址,或者去除only配置。因?yàn)閙ongodb啟動(dòng)時(shí),會(huì)將配置寫入DB中,master的配置在local DB的slaves表中, slave的配置在local DB的sources表中。如果單獨(dú)更改conf文件,直接重啟會(huì)失敗,log中顯示和DB中的配置沖突。如果直接修改local DB,修改會(huì)很快被覆蓋。
5.操作辦法
取消slave配置重啟。即注釋掉slave = true這一行。
手動(dòng)修改sources表,例如更改master 的ip或者去除only 項(xiàng)。
修改conf文件,打開slave = true,并修改其他項(xiàng),例如更改master 的ip或者去除only 項(xiàng)。
再次重啟mongodb。
6.其他問題
手動(dòng)強(qiáng)制同步:
如果slave因?yàn)樘厥庠蚝蚼aster不同步,需要手動(dòng)強(qiáng)制同步,方法為在slave上運(yùn)行如下命令:

use admin
db.runCommand( { resync: 1 } )

如果數(shù)據(jù)落后較多,則需要較長(zhǎng)時(shí)間。

主從同步要點(diǎn)解析
主服務(wù)器和從服務(wù)器必須開啟安全認(rèn)證:--auth, 主服務(wù)器和從服務(wù)器的admin數(shù)據(jù)庫(kù)中必須有全局用戶, 然后主服務(wù)器的local數(shù)據(jù)庫(kù)和從服務(wù)器的local數(shù)據(jù)均有名為repl且密碼相同的用戶名。
注:local:本地?cái)?shù)據(jù)庫(kù) 這個(gè)數(shù)據(jù)庫(kù)不會(huì)同步,主要存放同步的信息。在MongoDB2.0.2版本測(cè)試時(shí),從服務(wù)器的admin數(shù)據(jù)庫(kù)中沒有全局用戶時(shí)也能進(jìn)行復(fù)制(Deven:我們就是采用這個(gè)方式,
從服務(wù)器admin數(shù)據(jù)庫(kù)沒有建立用戶),盡管admin中無用戶,客戶端連接此服務(wù)器不進(jìn)行驗(yàn)證(即--auth參數(shù)失效),但從服務(wù)器的--auth必須指定。既然啟用了--auth,就應(yīng)該在從服務(wù)器的admin中增加一個(gè)用戶。

首先要在master的local數(shù)據(jù)庫(kù)中創(chuàng)建名為repl的賬戶,并設(shè)置密碼;
從服務(wù)器上和master一樣 創(chuàng)建名為repl的賬戶,并設(shè)置和master上一樣的密碼;
然后創(chuàng)建一個(gè)全局賬戶(管理賬戶,開啟同步即可)
1.創(chuàng)建一個(gè)全局賬戶

> use admin
switched to db admin
> db.addUser("root","zhuima")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

2.分別在master/slave的local數(shù)據(jù)庫(kù)下創(chuàng)建一個(gè)名為repl的賬戶,并設(shè)置密碼相同

> use local
switched to db local
> db.addUser("repl","zhuima")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "repl", "roles" : [ "dbOwner" ] }

3.master配置文件

[root@redis ~]# sed -e '/^$/d;/^#/d' /etc/mongodb.conf 
bind_ip = 192.168.58.30
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath =/mydata/data
journal = true
auth = true# 開啟認(rèn)證模式
master = true          # 指定該mongodb為master模式

4.slave配置文件

[root@localhost ~]$ sed -e '/^$/d;/^#/d' /etc/mongodb.conf 
bind_ip = 192.168.58.10
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath = /mydata/data
journal = true
auth = true  # 開啟認(rèn)證模式
slave = true  # 指定該mongodb為slave模式
source = 192.168.58.30:27017  # 指定master服務(wù)器

5.檢查同步情況

> db.printReplicationInfo()
this is a slave, printing slave replication info.
source:  192.168.58.30:27017
 syncedTo: Fri Jul 18 2014 10:22:31 GMT+0200 (CEST)
 = 22 secs ago (0.01hrs)  # 這個(gè)是指延遲時(shí)長(zhǎng)

相關(guān)文章

  • mongodb exception: $concat only supports strings, not NumberInt32解決辦法

    mongodb exception: $concat only supports strings, not Number

    這篇文章主要介紹了mongodb exception: $concat only supports strings, not NumberInt32解決辦法,需要的朋友可以參考下
    2014-06-06
  • MongoDB入門教程之常用的運(yùn)維技術(shù)介紹

    MongoDB入門教程之常用的運(yùn)維技術(shù)介紹

    這篇文章主要介紹了MongoDB入門教程之常用的運(yùn)維技術(shù)介紹,講解了安裝部署、狀態(tài)監(jiān)控、安全認(rèn)證、備份和恢復(fù)等內(nèi)容,需要的朋友可以參考下
    2014-08-08
  • mongodb清除連接和日志的正確方法分享

    mongodb清除連接和日志的正確方法分享

    這篇文章主要給大家介紹了關(guān)于mongodb清除連接和日志的正確方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 【MongoDB for Java】Java操作MongoDB數(shù)據(jù)庫(kù)

    【MongoDB for Java】Java操作MongoDB數(shù)據(jù)庫(kù)

    本篇文章現(xiàn)在我們就用Java來操作MongoDB的數(shù)據(jù)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • Mongodb安裝與配置筆記

    Mongodb安裝與配置筆記

    這篇文章主要介紹了Mongodb安裝與配置筆記,本文環(huán)境為L(zhǎng)inux,講解了Mongodb安裝步驟、配置方法、服務(wù)啟動(dòng)、后臺(tái)運(yùn)行等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決

    Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決

    這篇文章主要給大家介紹了關(guān)于Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決的相關(guān)資料,文中通過圖文將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-03-03
  • MongoDB分組查詢和聚合查詢實(shí)例教程

    MongoDB分組查詢和聚合查詢實(shí)例教程

    聚合(aggregate)是MongoDB的高級(jí)查詢語(yǔ)言,它允許我們通過轉(zhuǎn)化合并多個(gè)文檔的數(shù)據(jù)來生成新的在單個(gè)文檔里不存在的文檔信息,下面這篇文章主要給大家介紹了關(guān)于MongoDB分組查詢和聚合查詢的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MongoDB創(chuàng)建和查詢視圖的方式

    MongoDB創(chuàng)建和查詢視圖的方式

    本文整理mongodb的官方文檔,介紹mongodb的視圖創(chuàng)建和查詢,在Mongodb中,允許使用兩種方式來創(chuàng)建視圖,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2023-12-12
  • MongoDB操作類封裝實(shí)例代碼

    MongoDB操作類封裝實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于MongoDB操作類封裝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • MongoDB數(shù)據(jù)庫(kù)用戶角色和權(quán)限管理詳解

    MongoDB數(shù)據(jù)庫(kù)用戶角色和權(quán)限管理詳解

    這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫(kù)用戶角色和權(quán)限管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論