1. 程式人生 > >mongo數據庫主從備份服務集群搭建

mongo數據庫主從備份服務集群搭建

主機 pri bottom 綠色版 eat 自動切換 文件 安裝 line

MongoDB 主從備份

環境: centos 7 ,mongodb x86_64

mongodb 官網下載頁:https://www.mongodb.com/download-center#community

下載完畢,解壓到指定的目錄,我現在就把它放到/opt目錄下(是綠色版的,不用安裝)

技術分享圖片

在bin/這個目錄下,都是mongodb的相關工具,

常用 工具說明:

bsondump --將Bson格式的文件轉儲為Json 格式的數據

mongo --mongo客戶端(用於連接mongodb)

mongod --mongodb數據加主服務器(用於啟動mongo)

mongodump --mongodb數據庫備份工具

mongoimport --用於導入數據文件到mongodb

mongostore --恢復

只是簡單列出幾個。。。

mongodb是要指定數據庫文件與日誌文件的位置的,所以我在/home目錄上創建三個data目錄結構都一樣的文件夾

技術分享圖片

註:mongodb 搭建主從備份 至少的服務器數據為3臺,否則無法實現主從備份。 在此我就只使用同一臺主機,指定不同的端口與實現

三臺 mongodb 服務器的主從備份 ,在現在生產中只要把IP改為真實的IP就OK

命令:

mongod --bind_ip server_ip --port 端口 --dbpath 數據文件保存路徑 --logpath

日誌文件/mongodb.log --replSet 服務器集群名稱

三臺mongo數據庫服務器啟動成功,

技術分享圖片

註:第一臺啟動的端口在:1000,數據文件保存 在/home/data1/db

   第二臺端口在:2000 數據文件保存 在/home/data2/db

   第三臺端口在3000  數據文件保存 在/home/data3/db

重點:最後那個參數 : --replSet [名字] 這個參數後面的名字 是要一樣的,否則無法通訊

服務器搭建成功,接下來就初始化配置:

使用 mongo --host ip --port 連接上服務對應的服務器

連接上三臺mongoDB服務器並任意選一臺初始化:

註:此時如果不進入初始化並配置是什麽也做不了的如圖:

技術分享圖片

提示 slaveOK= false

初始化命令:

rs.initiate()

技術分享圖片

初化成功,查看服務器狀態:

查看服務器當前狀態:

rs.status()

技術分享圖片

可以看到 "stateStr" : "PRIMARY" 看到此選項說明此服務器已是主服務器,接下來要只要在此服務器中添加從服務器的IP與端口

在主服務器中添加副本集:


rs.add(‘從服務器IP:端口‘)

成功添加兩臺從服務器:

技術分享圖片

註:上面只要沒報錯就成功添加,也可以看到 左下角那個光標:Mserver:PRIMARY> 說明它是主服務器

至此:在主服務器中的配置結束 ,切換到從服務器中執行:rs.slaveOk() 這個命令就完成了

在主服務器初始化並成功添加從器後

在從服務器中執行:

rs.slaveOK()

最終結果:

技術分享圖片

註:只有主服務器才能寫入數據,從服務器只能讀,當主服務器 巖機 時,從服務器中隨機有一臺自動切換成主服務器,而巖機的那臺

服務器修好後開機會自動切換為從服務器,並從主服務器中備份缺失的數據。

  


mongo數據庫主從備份服務集群搭建