生產環境mongodb快速搭建複製集

2021-09-26 02:44:41 字數 1482 閱讀 1118

mongodb快速搭建複製集

現在很多資料庫都支援實時安全備份,mongodb 也不例外。mongodb的複製集就是為安全備份而生。原理就是在主資料庫被操作改變的同時,對副本資料庫作同樣的操作,時刻保持和主副資料庫的一致性。同時順便衍生了乙個功能就是讀寫分離,可以寫在主資料庫,讀在副本資料庫,一定程度上實現了負載的均衡。

下面來說一下配置過程:

我這裡選了一台centos的機器(部署乙個從節點)和一台windows機器(部署一台主節點和一台從節點)。

1.配置檔案不同環境的配置檔案大同小異,第乙個比較關鍵選項是 repsetname,這個字段決定該節點能不能找到自己的組織(所屬複製集),第二個是keyfile,該檔案是乙個私鑰檔案,每乙個節點都有乙個相同的keyfile檔案,他用來保證不同節點之間的跨ip通訊。生成方法是在linux上執行openssl rand -base64 90 -out keyfile 命令,然後設定許可權 chmod 600 keyfile,不能設定過高的許可權,否則會報錯。

2.啟動

linux /usr/bin/mongod --config /ww/server/mongodb/rs/rs0.conf

windows mongod --config config檔案路徑

3.主從配置

用mongo客戶端登入到主節點,mongo s3.nsloop.com:28001,然後rs.initiate()初始化,再rs.add(『s3.nsloop.com:28002』),新增從節點。rs.status()檢查從節點是否已經配置好。注意,只在需要設定為primary的那個結點進行rs.initiate()操作,而不要在從節點進行該操作。

4建立資料庫成員角色,選擇在要建立成員的資料庫,這裡用use admin.建立角色的時候要注意要第乙個角色一定要建立許可權足夠高的使用者(建議是root),因為你一旦建立了角色,那麼運算元據庫都需要使用者名稱密碼驗證了,假如這第乙個使用者只有讀許可權,那就沒法進行後面的工作了。

另外有乙個誤區就是在哪個資料庫建立成員,那麼該成員就只能對自己所在的資料庫進行操作?no!在哪個資料庫建立成員只決定這個成員的資訊儲存在**而已。

建立角色的操作:

先:use admin

再:db.createuser(

]} )

建立使用者之後,進行db.auth(『testuser』,pwd:『123456』)就可以對資料庫進行操作了。

關於 security的auth選項和keyfile選項,auth是在單節點,非集群的情況下用的,複製集需要用的是keyfile,

注意

記錄完畢。

MongoDB 簡介和快速搭建

先不廢話,先把mongodb裝好再說 wget tar zxvf mongodb linux x86 64 rhel70 3.2 5.tgz mv mongodb linux x86 64 rhel70 3.2 5 mongodb 建立必要的目錄 mkdir pv root mongodb 啟動 m...

Ubuntu上搭建mongoDB環境

差不多半年之前也在ubuntu搭建過mongodb環境,遇到過一些問題解決了,昨天在新伺服器上搭建的時候又遇到結果給忘了,所以今天乾脆寫篇部落格記錄一下.sudo apt keyadv keyserver hkp keyserver ubuntu com 80 recv ea312927ubuntu...

MongoDB學習筆記 環境搭建

回到目錄 redis學習筆記已經告一段落,redis倉儲也已經實現了,對於key value結構的redis我更願意使用它來實現資料集的快取機制,而對於結構靈活,查詢效率高的時候使用redis就有點不太合適了,對於以文件結構 document 實現儲存的mongodb來實現資料集的查詢更合適一些,並...