麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

MongoDB的Master-Slave主從模式配置及主從復制要點解析

2020-10-29 18:49:16
字體:
來源:轉載
供稿:網(wǎng)友

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

 openssl rand -base64 741 > mongo_key

將mongo_key 分別置于master 和 slave mongodb user可以access的地方。
設置權限

chmod 700 mongo_key

設置

onwer chown mongodb:nogroup mongo_key

2.master配置
編輯/etc/mongodb.conf, 設置如下

master = truekeyFile = /path/to/mongo_key

3.slave 配置

slave = truesource = <ip of master>only = bookstorekeyFile = /usr/local/bookstore/mongo_key

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

use admindb.runCommand( { resync: 1 } )

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

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

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

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

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

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

3.master配置文件

[root@redis ~]# sed -e '/^$/d;/^#/d' /etc/mongodb.conf bind_ip = 192.168.58.30port = 27017fork = truepidfilepath = /var/run/mongodb/mongodb.pidlogpath = /var/log/mongodb/mongodb.logdbpath =/mydata/datajournal = trueauth = true# 開啟認證模式master = true          # 指定該mongodb為master模式

4.slave配置文件

[root@localhost ~]$ sed -e '/^$/d;/^#/d' /etc/mongodb.conf bind_ip = 192.168.58.10port = 27017fork = truepidfilepath = /var/run/mongodb/mongodb.pidlogpath = /var/log/mongodb/mongodb.logdbpath = /mydata/datajournal = trueauth = true  # 開啟認證模式slave = true  # 指定該mongodb為slave模式source = 192.168.58.30:27017  # 指定master服務器

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)  # 這個是指延遲時長

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品久久久久久久久久久久久久久 | 免费网址黄 | 精品无码一区在线观看 | 深夜免费观看视频 | 国产精品91久久久 | 成人毛片网站 | 免费观看黄色一级视频 | 国产一区亚洲 | 国产精品久久久久久久久久10秀 | 中文字幕精品在线视频 | 三级国产三级在线 | 农村寡妇偷毛片一级 | 欧产日产国产精品乱噜噜 | 四季久久免费一区二区三区四区 | 九九热九九爱 | 免费一级毛片网站 | 91福利国产在线观一区二区 | 欧美黄色试片 | 一区二区三区国产视频 | 国产妞干网| lutube成人福利在线观看污 | 欧美成人三级视频 | 电影一级毛片 | 色偷偷欧美 | 日本精品一区二区 | 中文字幕在线播放一区 | 曰韩在线视频 | 99成人精品视频 | 免费永久在线观看黄网 | 99riav国产在线观看 | 日本高清在线播放 | 日韩视频在线视频 | 亚洲一级成人 | 91久久国产 | 午夜激情视频网站 | 在线91视频 | 精品成人国产在线观看男人呻吟 | 日本一区二区三区视频在线 | 成人免费乱码大片a毛片视频网站 | 欧美性生交xxxxx免费观看 | 国产免费资源 |