寫(xiě)在前面
本文已經(jīng)假設(shè)你已經(jīng)安裝好了Mongodb(2.6),并且已經(jīng)開(kāi)啟了auth。
用戶(hù)
首先我們添加備份和恢復(fù)數(shù)據(jù)所需的用戶(hù),這個(gè)用戶(hù)需要有readWrite和userAdmin權(quán)限
注:此命令是在控制臺(tái)中執(zhí)行
我們使用mongodump來(lái)進(jìn)行數(shù)據(jù)的備份(注意:mongodump不會(huì)備份local數(shù)據(jù)庫(kù)中內(nèi)容)。
mongodump可以通過(guò)以下兩種方式來(lái)進(jìn)行數(shù)據(jù)的備份:
連接到mongod或者mongos
直接訪問(wèn)數(shù)據(jù)文件
這個(gè)工具可以備份整個(gè)服務(wù)器、單個(gè)database或者單個(gè)collection的數(shù)據(jù),也可以通過(guò)查詢(xún)語(yǔ)句只備份collection中的部分?jǐn)?shù)據(jù)。
如果不帶任何參數(shù)直接執(zhí)行mongodump,那么它會(huì)去連接本地(127.0.0.1或者localhost)27017端口上的MongoDB實(shí)例,并且會(huì)創(chuàng)建名為dump的備份。
注意:從Mongodb2.2版本開(kāi)始,mongodump使用的數(shù)據(jù)格式與舊版本的mongod實(shí)例不兼容。所以不要使用新版本(>=2.2)的mongodump去備份舊數(shù)據(jù)。
恢復(fù)
使用mongodump備份的數(shù)據(jù),需要使用mongorestore來(lái)恢復(fù)。
mongorestore恢復(fù)數(shù)據(jù)的方式與mongodump相對(duì)應(yīng),也是分為兩種:
連接到mongod或者mongos
直接寫(xiě)入到數(shù)據(jù)文件
mongorestore既可以恢復(fù)整個(gè)備份也可以恢復(fù)一部分。
注:在還原時(shí)必需在將要還原的數(shù)據(jù)庫(kù)上新建將要還原的數(shù)據(jù)與所屬的用戶(hù) --drop的意思是刪除庫(kù)中原來(lái)的數(shù)據(jù)庫(kù)并將數(shù)據(jù)庫(kù)還原上去
此命令是在控制臺(tái)中執(zhí)行
新聞熱點(diǎn)
疑難解答
圖片精選