mongodb 備份随抠、還原裁着、導(dǎo)出、導(dǎo)入

轉(zhuǎn)自:http://blog.51yip.com/nosql/1573.html

mongodb數(shù)據(jù)備份和還原主要分為二種拱她,一種是針對于庫的mongodump和mongorestore二驰,一種是針對庫中表的mongoexport和mongoimport。

一秉沼,mongodump備份數(shù)據(jù)庫
1桶雀,常用命令格

mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -o 文件存在路徑  

如果沒有用戶誰,可以去掉-u和-p唬复。
如果導(dǎo)出本機(jī)的數(shù)據(jù)庫矗积,可以去掉-h。
如果是默認(rèn)端口敞咧,可以去掉--port棘捣。
如果想導(dǎo)出所有數(shù)據(jù)庫,可以去掉-d休建。

2,導(dǎo)出所有數(shù)據(jù)庫

[root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/  
connected to: 127.0.0.1  
Tue Dec  3 06:15:55.448 all dbs  
Tue Dec  3 06:15:55.449 DATABASE: test     to     /home/zhangy/mongodb/test  
Tue Dec  3 06:15:55.449     test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson  
Tue Dec  3 06:15:55.450          1 objects  
Tue Dec  3 06:15:55.450     test.posts to /home/zhangy/mongodb/test/posts.bson  
Tue Dec  3 06:15:55.480          0 objects  

3,導(dǎo)出指定數(shù)據(jù)庫

[root@localhost mongodb]# mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/  
connected to: 192.168.1.108  
Tue Dec  3 06:11:41.618 DATABASE: tank     to     /home/zhangy/mongodb/tank  
Tue Dec  3 06:11:41.623     tank.system.indexes to /home/zhangy/mongodb/tank/system.indexes.bson  
Tue Dec  3 06:11:41.623          2 objects  
Tue Dec  3 06:11:41.623     tank.contact to /home/zhangy/mongodb/tank/contact.bson  
Tue Dec  3 06:11:41.669          2 objects  
Tue Dec  3 06:11:41.670     Metadata for tank.contact to /home/zhangy/mongodb/tank/contact.metadata.json  
Tue Dec  3 06:11:41.670     tank.users to /home/zhangy/mongodb/tank/users.bson  
Tue Dec  3 06:11:41.685          2 objects  
Tue Dec  3 06:11:41.685     Metadata for tank.users to /home/zhangy/mongodb/tank/users.metadata.json  

三乍恐,mongorestore還原數(shù)據(jù)庫
1,常用命令格式

mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 --drop 文件存在路徑  

--drop的意思是,先刪除所有的記錄测砂,然后恢復(fù)茵烈。

2,恢復(fù)所有數(shù)據(jù)庫到mongodb中

[root@localhost mongodb]# mongorestore /home/zhangy/mongodb/   #這里的路徑是所有庫的備份路徑  

3,還原指定的數(shù)據(jù)庫

[root@localhost mongodb]# mongorestore -d tank /home/zhangy/mongodb/tank/    #tank這個(gè)數(shù)據(jù)庫的備份路徑  
[root@localhost mongodb]# mongorestore -d tank_new  /home/zhangy/mongodb/tank/    #將tank還有tank_new數(shù)據(jù)庫中  

這二個(gè)命令,可以實(shí)現(xiàn)數(shù)據(jù)庫的備份與還原邑彪,文件格式是json和bson的瞧毙。無法指寫到表備份或者還原。

四寄症,mongoexport導(dǎo)出表宙彪,或者表中部分字段
1,常用命令格式

mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 -f 字段 -q 條件導(dǎo)出 --csv -o 文件名  

上面的參數(shù)好理解,重點(diǎn)說一下:

-f 導(dǎo)出指字段有巧,以字號分割释漆,-f name,email,age導(dǎo)出name,email,age這三個(gè)字段
-q 可以根查詢條件導(dǎo)出,-q '{ "uid" : "100" }' 導(dǎo)出uid為100的數(shù)據(jù)
--csv 表示導(dǎo)出的文件格式為csv的篮迎,這個(gè)比較有用男图,因?yàn)榇蟛糠值年P(guān)系型數(shù)據(jù)庫都是支持csv示姿,在這里有共同點(diǎn)

2,導(dǎo)出整張表

[root@localhost mongodb]# mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat  
connected to: 127.0.0.1  
exported 4 records  

3,導(dǎo)出表中部分字段

[root@localhost mongodb]# mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv  
connected to: 127.0.0.1  
exported 4 records  

4,根據(jù)條件敢出數(shù)據(jù)

[root@localhost mongodb]# mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json  
connected to: 127.0.0.1  
exported 3 records  

五,mongoimport導(dǎo)入表逊笆,或者表中部分字段
1,常用命令格式
1.1,還原整表導(dǎo)出的非csv文件

mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --upsert --drop 文件名  

重點(diǎn)說一下--upsert栈戳,其他參數(shù)上面的命令已有提到,--upsert 插入或者更新現(xiàn)有數(shù)據(jù)

1.2,還原部分字段的導(dǎo)出文件

mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --upsertFields 字段 --drop 文件名  

--upsertFields根--upsert一樣

1.3,還原導(dǎo)出的csv文件

mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --type 類型 --headerline --upsert --drop 文件名  

上面三種情況难裆,還可以有其他排列組合的子檀。

2,還原導(dǎo)出的表數(shù)據(jù)

[root@localhost mongodb]# mongoimport -d tank -c users --upsert tank/users.dat  
connected to: 127.0.0.1  
Tue Dec  3 08:26:52.852 imported 4 objects  

3,部分字段的表數(shù)據(jù)導(dǎo)入

[root@localhost mongodb]# mongoimport -d tank -c users  --upsertFields uid,name,sex  tank/users.dat  
connected to: 127.0.0.1  
Tue Dec  3 08:31:15.179 imported 4 objects  

4,還原csv文件

[root@localhost mongodb]# mongoimport -d tank -c users --type csv --headerline --file tank/users.csv  
connected to: 127.0.0.1  
Tue Dec  3 08:37:21.961 imported 4 objects  

總體感覺,mongodb的備份與還原乃戈,還是挺強(qiáng)大的褂痰,雖然有點(diǎn)麻煩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末症虑,一起剝皮案震驚了整個(gè)濱河市缩歪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谍憔,老刑警劉巖匪蝙,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異习贫,居然都是意外死亡骗污,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門沈条,熙熙樓的掌柜王于貴愁眉苦臉地迎上來需忿,“玉大人,你說我怎么就攤上這事蜡歹∥堇澹” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵月而,是天一觀的道長汗洒。 經(jīng)常有香客問我,道長父款,這世上最難降的妖魔是什么溢谤? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮憨攒,結(jié)果婚禮上世杀,老公的妹妹穿的比我還像新娘。我一直安慰自己肝集,他們只是感情好瞻坝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杏瞻,像睡著了一般所刀。 火紅的嫁衣襯著肌膚如雪衙荐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天浮创,我揣著相機(jī)與錄音忧吟,去河邊找鬼。 笑死斩披,一個(gè)胖子當(dāng)著我的面吹牛瀑罗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雏掠,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼劣像!你這毒婦竟也來了乡话?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤耳奕,失蹤者是張志新(化名)和其女友劉穎绑青,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屋群,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闸婴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芍躏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邪乍。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖对竣,靈堂內(nèi)的尸體忽然破棺而出庇楞,到底是詐尸還是另有隱情,我是刑警寧澤否纬,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布吕晌,位于F島的核電站,受9級特大地震影響临燃,放射性物質(zhì)發(fā)生泄漏睛驳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一膜廊、第九天 我趴在偏房一處隱蔽的房頂上張望乏沸。 院中可真熱鬧,春花似錦爪瓜、人聲如沸屎蜓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炬转。三九已至辆苔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扼劈,已是汗流浹背驻啤。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荐吵,地道東北人骑冗。 一個(gè)月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像先煎,于是被迫代替她去往敵國和親贼涩。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容