Mongodb數(shù)據(jù)庫的備份與恢復(fù)操作實(shí)例
寫在前面
本文已經(jīng)假設(shè)你已經(jīng)安裝好了Mongodb(2.6),并且已經(jīng)開啟了auth。
用戶
首先我們添加備份和恢復(fù)數(shù)據(jù)所需的用戶,這個(gè)用戶需要有readWrite和userAdmin權(quán)限
$ mongo
$ use admin
$ db.auth("admin", "youradminpasswd");
$ use backupdb
$ db.addUser({ user: "backup", pwd: "passwd", roles: [ "readWrite", "userAdmin" ] })
備份
注:此命令是在控制臺(tái)中執(zhí)行
我們使用mongodump來進(jìn)行數(shù)據(jù)的備份(注意:mongodump不會(huì)備份local數(shù)據(jù)庫中內(nèi)容)。
mongodump可以通過以下兩種方式來進(jìn)行數(shù)據(jù)的備份:
連接到mongod或者mongos
直接訪問數(shù)據(jù)文件
這個(gè)工具可以備份整個(gè)服務(wù)器、單個(gè)database或者單個(gè)collection的數(shù)據(jù),也可以通過查詢語句只備份collection中的部分?jǐn)?shù)據(jù)。
如果不帶任何參數(shù)直接執(zhí)行mongodump,那么它會(huì)去連接本地(127.0.0.1或者localhost)27017端口上的MongoDB實(shí)例,并且會(huì)創(chuàng)建名為dump的備份。
$ mongodump --host mongodb.example.net --port 27017 --db test --collection some --username backup --password passwd
以上會(huì)使mongodump連接到mongodb.example.net:27017上的mongod,并且把dbtest中的somecollection備份到dump目錄下
注意:從Mongodb2.2版本開始,mongodump使用的數(shù)據(jù)格式與舊版本的mongod實(shí)例不兼容。所以不要使用新版本(>=2.2)的mongodump去備份舊數(shù)據(jù)。

恢復(fù)
使用mongodump備份的數(shù)據(jù),需要使用mongorestore來恢復(fù)。
mongorestore恢復(fù)數(shù)據(jù)的方式與mongodump相對(duì)應(yīng),也是分為兩種:
連接到mongod或者mongos
直接寫入到數(shù)據(jù)文件
mongorestore既可以恢復(fù)整個(gè)備份也可以恢復(fù)一部分。
$ mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username backup --password password /data/backup
以上會(huì)從/data/backup中恢復(fù)數(shù)據(jù),其中只恢復(fù)testdb中somecollection到mongodb.example.net:27017中。如果不指定--host和--portoption,那么mongorestore會(huì)默認(rèn)使用localhost:27017。
注:在還原時(shí)必需在將要還原的數(shù)據(jù)庫上新建將要還原的數(shù)據(jù)與所屬的用戶 --drop的意思是刪除庫中原來的數(shù)據(jù)庫并將數(shù)據(jù)庫還原上去
此命令是在控制臺(tái)中執(zhí)行

- MongoDB的備份與恢復(fù)
- mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)
- 分布式文檔存儲(chǔ)數(shù)據(jù)庫之MongoDB備份與恢復(fù)的實(shí)踐詳解
- 使用centos系統(tǒng)中的crontab命令對(duì)mongodb定時(shí)備份恢復(fù)
- Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程
- MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實(shí)例
- MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
- Windows或Linux系統(tǒng)中備份和恢復(fù)MongoDB數(shù)據(jù)的教程
- MongoDB整庫備份與還原以及單個(gè)collection備份、恢復(fù)方法
- MongoDB的備份(mongodump)與恢復(fù)(mongorestore)
相關(guān)文章
MongoDB錯(cuò)誤32-bit servers don''t have journaling enabled by de
這篇文章主要介紹了MongoDB錯(cuò)誤32-bit servers don't have journaling enabled by default解決方法,需要的朋友可以參考下2014-10-10
深入了解MongoDB是如何存儲(chǔ)數(shù)據(jù)的
MongoDB是一個(gè)可擴(kuò)展、高性能的分布式文檔存儲(chǔ)數(shù)據(jù)庫,由C 語言編寫,下面這篇文章主要給大家介紹了關(guān)于MongoDB是如何存儲(chǔ)數(shù)據(jù)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07
詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法
副本集是MongoDB的主從復(fù)制中的重要功能,經(jīng)常被用來作額外的備份,這里我們就來詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法,首先還是來回顧一下MongoDB中副本集的基本知識(shí):2016-07-07
MongoDB服務(wù)端JavaScript腳本使用方法
這篇文章主要介紹了MongoDB服務(wù)端JavaScript腳本使用方法,需要的朋友可以參考下2015-10-10
Windows系統(tǒng)安裝運(yùn)行Mongodb服務(wù)
今天小編就為大家分享一篇關(guān)于Windows系統(tǒng)安裝運(yùn)行Mongodb服務(wù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
MongoDB學(xué)習(xí)筆記之MapReduce使用示例
這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之MapReduce使用示例,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-07-07
MongoDB中創(chuàng)建索引需要注意的事項(xiàng)
這篇文章主要介紹了MongoDB中創(chuàng)建索引需要注意的事項(xiàng),本文講解了創(chuàng)建索引可能會(huì)引發(fā)的問題并給出解決方法,需要的朋友可以參考下2015-03-03
Mongodb基本操作與Python連接mongodb并進(jìn)行基礎(chǔ)操作的方法
mongodb是基于分布式文件存儲(chǔ)的nosql(非關(guān)系型)數(shù)據(jù)庫,本文分享了mongodb的基礎(chǔ)操作和Python連接并操作mongodb的基礎(chǔ)方法,基礎(chǔ)的不能再基礎(chǔ)了2018-09-09

