1. 程式人生 > >Mongodb的同步、備份與恢復(轉自鵬部落格)

Mongodb的同步、備份與恢復(轉自鵬部落格)

Mongodb的主從同步:

1.建立資料庫目錄

mkdir /mongodb/masterdb
mkdir /mongodb/slavedb_1
mkdir /mongodb/slavedb_2

2.分別啟動主從伺服器
啟動主伺服器監聽10000埠

./bin/mongod  -dbpath  /mongodb/masterdb/  –port  10000  –master

啟動兩個從伺服器  分別用10001 和 10002 埠  也可以使用 master master-> slave 的設定

./bin/mongod  -dbpath  /mongodb/slavedb_1  –source  localhost:10000  –slave  –port 10001
./bin/mongod  -dbpath /mongodb/slavedb_2  –source  localhost:10000 –slave –port 10002

#啟動後  就會看到有日誌 顯示從主伺服器複製內容了

相關引數:./mongod –help

–autoresync 當發現從伺服器的資料不是最新時,開始從主伺服器請求同步資料
–slavedelay 同步延遲,單位:秒

3.測試主從

a、在主伺服器新建資料庫

./bin/mongo  –port 10001

> show dbs

#裡面只有系統資料庫,同時如果做插入資料的操作 會提示 not master

> use testdb
> db.blog.save({title:
“new article”
})

b、在從伺服器上檢視同步資料
./bin/mongo  –port 10001

MongoDB shell version: 1.6.0
connecting to: 127.0.0.1:10001
/test
> show dbs
admin
local
testdb
> use testdb
switched to db testdb
> db.blog.
find(){ “_id”: ObjectId(“4c776ccce7af0727ce4b6234”), “title”: “new article”}

#此為同步過來的資料,測試成功

Mongodb備份與恢復:

mongodump -h 192.168.0.39:10001 -d csf -o /backup/mongodb
將/tmp/backup 下面的檔案匯入資料庫:
mongorestore -h 192.168.0.39:10001 -d csf -drop –directoryperdb /backup/mongodb/csf/
mongodb提供了兩個命令來備份(mongodump )和恢復(mongorestore )資料庫。

 
1、備份資料庫
語法:mongodump -h host -d database -o dir_to_store_backup
mongodump -h 127.0.0.1 -d jtxm -o /home/backup/
出現此提示說明備份成功

 
2、恢復資料庫
語法:mongorestore -h 主機 -d 目標庫 -drop  –directoryperdb 原始檔
【註釋】–drop引數,有此引數,則表示,先刪除所有的記錄,然後恢復。如無此引數,則恢復備份時候的資料,備份之後新增加的資料依然存在;/backup/mongodb則是備份檔案存放路徑
./mongorestore -h 127.0.0.1 –directoryperdb /data/dump

 
3.另外mongodb還提供了mongoexport 和 mongoimport 這兩個命令來匯出或匯入資料,匯出的資料是json格式的。也可以實現備份和恢復的功能。
例:

mongoexport -d mixi_top_city_prod -c building_45 -q ‘{ “uid” : “10832545” }’ > mongo_10832545.bson
mongoimport -d mixi_top_city -c building_45 –file mongo_10832545.bson
公共引數:

–port arg    指定埠
-h arg    指定主機
-d arg    指定database
-c arg    指定collection
–dbpath arg    指定mongod的資料庫檔案所在路徑

備份:

bsondump
命令用法:bsondump [options] <bson fileName>
特別引數:
–type arg 輸出檔案的格式,arg= json,debug
在xp下不能用

mongodump
命令用法:mongodump [options]
特別引數:
-o arg 輸出的”目錄”,不指定時,預設在執行命令的路徑下建立dump目錄匯出
-q arg json query,此處可通過json查詢,有選擇性的匯出資料

說明:

1.與mongorestore構成一對工具集,即由Mongodump匯出的資料可由mongrestore恢復
2.mongodump可用於“熱備份”
3.匯出的資料是bson格式
效能:資料庫中1g的資料匯出後變成285M,大概8秒

mongoexport
命令用法:mongoexport [options]
特別引數:
-q arg 查詢過濾器,json string
-f args 輸出的域,例如-f name,age,address
–csv 輸出csv,不寫此引數,預設為json
-o arg 輸出的檔案,預設為stdout
說明:

1.可以匯出json或csv格式的檔案
2.可以指定查詢過濾器或指定輸出的域
3.此工具匯出的json,csv可能對某些資料型別不相容,因此可能不能全部資料匯出,mongodump就可以全部相容。
效能:1g資料,約1分40秒,匯出大小為380M

恢復:

mongoimport
命令用法:mongoimport [options]
特別引數:
–file args 匯入的檔案,若無此引數,以stdin為標準
-f args 匯入的資料域
–fieldFile arg 帶域名稱的檔案
–ignoreBlanks 在csv,tsv檔案中忽略空域
–type arg 匯入檔案的型別,預設為json,還可以為csv,tsv
–drop 插入前先刪除原collection
–upsert 插入或更新已存在的物件
–jsonArray 匯入json array,目前每個array的限制是4M
–headerline 只能用於csv,tsv檔案中,用第一行作為檔案頭
說明:

接受json,csv,tsv格式的檔案,每行為一個物件
{“somefield” : 123456, “created_at” : {“$date” : 1285679232000}}此格式可解析日期。
效能:匯入1g資料,2分20秒,失敗33個物件

mongorestore

命令用法:mongorestore [options] [file or dir to restore]
特別引數:
–drop 匯入前先drop collection
–objcheck 插入前檢測物件的合法性
–filter arg 插入前的過濾器
–indexesLast 插入完資料後再建立索引(此引數可提供更高的效能,建議選用)
說明:

1.與mongodump合用,在restore過程中,索引會重新創造
效能:1g資料,約6分鐘


相關推薦

Mongodb同步備份恢復部落

Mongodb的主從同步: 1.建立資料庫目錄 mkdir /mongodb/masterdb mkdir /mongodb/slavedb_1 mkdir /mongodb/slavedb_2 2.分別啟動主從伺服器 啟動主伺服器監聽10000埠 ./b

MongoDB 學習之備份恢復

備份 語法 mongodump -h dbhost -d dbname -o dbdirectory -h:伺服器地址,也可以指定埠號 -d:需要備份的資料庫名稱 -o:備份的資料存放位置,此

mongoDB 學習筆記純乾貨mongoose增刪改查聚合索引連線備份恢復監控等等

MongoDB - 簡介 MongoDB 是一個基於分散式檔案儲存的資料庫,由 C++ 語言編寫,旨在為 WEB 應用提供可擴充套件的高效能資料儲存解決方案。 MongoDB 是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富

centos6.7下的系統備份恢復bacula 的安裝配置和執行

一、安裝bacula 這裡對上一節的第一種bacula部署結構進行介紹。 主機名 IP地址 作業系統 應用角色 baculaServer 10.0.172.185   centos6.7 Director、SD、Console baculaClient 1

瞧一瞧!這兒實現了MongoDB的增量備份還原含部署程式碼

一 需求描述 我們知道資料是公司的重要資產,業務的系統化、資訊化就是數字化。資料高效的儲存與查詢是系統完善和優化的方向,而資料庫的穩定性、可靠性是實現的基礎。高可用和RPO(RecoveryPointObjective,復原點目標,指能容忍的最大資料丟失量)是衡量一個數據庫優劣的重要指標。作為一個DBA,搭

二進位制格式MySQL的安裝備份恢復

環境說明: 主機名 系統 服務 server red7 mysql 需求:一個MySQL包。例:mysql-5.7.23-linux-glib

瞧一瞧!看一看!這兒實現了MongoDB的增量備份還原含部署程式碼

一 需求描述 我們知道資料是公司的重要資產,業務的系統化、資訊化就是數字化。資料高效的儲存與查詢是系統完善和優化的方向,而資料庫的穩定性、可靠性是實現的基礎。高可用和RPO(RecoveryPointObjective,復原點目標,指能容忍的最大資料丟失量)是衡量一個數據庫優劣的重要指標。作為一個DBA,搭建

linux系統下mongodb資料庫的備份恢復

Linux系統下:        備份資料庫:           1)cd到mongodb的bin目錄下               例如: cd  /usr/local/mongodb/bin          2) $ mongodump -h  資料庫所在pc的ip

PostgreSQL備份恢復

www.wohedb.com  中文資料庫管理系統                                 PostgreSQL備份與恢復     PostgreSQL提供了三種備份和恢復的方式:SQL dump、檔案系統複製和聯機熱備份。 每一種備份方式都有自己的

CNNRNNLSTM

神經網路技術起源於上世紀五、六十年代,當時叫感知機(perceptron),擁有輸入層、輸出層和一個隱含層。輸入的特徵向量通過隱含層變換達到輸出層,在輸出層得到分類結果。早期感知機的推動者是Rosenblatt。(扯一個不相關的:由於計算技術的落後,當時感知器傳

MongoDB-5:備份恢復

一、簡介     匯入和匯出可以操作本地的mongodb伺服器,也可以操作遠端的伺服器。所有有如下通用選項:         -h host 主機     

mongodb全庫備份恢復

一次伺服器異常事件導致mongodb服務掛掉無法重啟,報錯資訊: 2017-10-10T14:35:16.078+0800 I NETWORK [initandlisten] connection accepted from 192.168.1.52:55362 #4

mysql-資料庫備份恢復Ubuntu16.04

啟動MySQL:service mysql start檢視狀態:service mysql status關閉MySQL:service mysql stop資料庫備份步驟: ctrl+z  退出mysqlsudo -s  進入root cd /var/lib/mysql   

mongodb 的資料備份恢復

      ./bin/mongoexport -d test -c stu -f sn,name -q '{sn:{$lte:1000}}' --csv -o ./test.stu.csv【因為匯出的是csv 格式,所以是 csv 字尾命名】

mongodb資料庫的備份恢復

在mongodb的官方上search mongodump沒有相應的資料,自己就在shell命令列裡面 : /data/mongodb-linux-x86_64-1.6.0/bin/mongodump --help 了一把, 自己來測試了,測試總結如下: 備份本機mongodb

項目實戰6—Mysql實現企業級日誌管理備份恢復實戰

char echo href 數據備份與恢復 9.png 模擬 nlog 直接 creat Mysql實現企業級日誌管理、備份與恢復實戰   環境背景:隨著業務的發展,公司業務和規模不斷擴大,網站積累了大量的用戶信息和數據,對於一家互聯網公司來說,用戶和業務數據

mongo 索引 安全備份恢復

The 修改 find size cut 身份證驗證 文件 建立 sodu 一、索引 創建大量數據 for(i=0;i<100000;i++){ db.t1.insert({name:"test"+i,age:i}) } 數據查找性能分析

NAT轉換VLANTrunk特典:ACL初步

一、NAT(網路地址轉換)   即公有地址轉換為私有地址 私有地址段(非公網地址,即公網不識別)    A       10.0.0.0     &nb

KafkaRabbitMQRocketMQ訊息中介軟體的對比 —— 訊息傳送效能阿里中介軟體

引言分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。那麼,訊息中介軟體效能究竟哪家強?帶著這個疑問,我們中介軟體測試組對常見的三類訊息產品(Kafka、Rabb

Angular js 過濾器 筆記菜鳥教程

per test 筆記 ring ood filter 子集 true 貨幣格式 1、uppercase,lowercase 大小寫轉換 {{ "lower cap string" | uppercase }} // 結果:LOWER CAP STRING {{ "TA