mongo數據庫主從備份服務集群搭建
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
三臺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數據庫主從備份服務集群搭建