標籤:完成 under store 執行 round enter 伺服器叢集 目錄 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 --mongodbDatabase Backup工具
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資料庫主從備份服務叢集搭建