日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb备份恢复,数据导入导出

發布時間:2025/3/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb备份恢复,数据导入导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據導出 mongoexport

假設庫里有一張apachelog表,里面有2 條記錄,我們要將它導出

/test/mongodb/bin/mongo use wxdata

switched to db wxdata

db.apachelog.find();

{ "_id" : ObjectId("53993357e0e73ac14b29da8a"), "host" : "66.249.69.194", "method" : "GET", "uri" : "/uploads/yaopinimg/2013012415323219.jpg", "httpstatus" : 200, "size" : 7428, "agent" : "Googlebot-Image/1.0", "status" : 0 }

1 常用導出方法

/test/mongodb/bin/mongoexport -d wxdata -c apachelog -o apachelog.dat

connected to: 127.0.0.1
exported 2 records

cat apachelog.dat

{ "_id" : ObjectId("53993357e0e73ac14b29da8a"), "host" : "66.249.69.194", "method" : "GET", "uri" : "/uploads/yaopinimg/2013012415323219.jpg", "httpstatus" : 200, "size" : 7428, "agent" : "Googlebot-Image/1.0", "status" : 0 }

參數說明:
-d 指明使用的庫, 本例中為"wxdata"
-c 指明要導出的表, 本例中為"apachelog"
-o 指明要導出的文件名, 本例中為"apachelog.dat"
從上面可以看到導出的方式使用的是JSON 的樣式.

2 導出CSV格式的文件

/test/mongodb/bin/mongoexport -d wxdata -c apachelog --csv -f host,time,method -o apachelog_csv.dat

connected to: 127.0.0.1
exported 2 records

cat apachelog_csv.dat

host,time,method
"66.249.69.194","12/Jun/2014:12:57:59","GET"
參數說明:
--csv 指要要導出為csv 格式
-f 指明需要導出哪些例

?

3.導出執行查詢的結果

/test/mongodb/bin/mongoexport -d wxdata -c apachelog -q '{httpstatus:404}' -o apachelog.dat

參數說明:
-q 指明過濾條件,這里是過濾出httpstatus等于404的記錄。


更詳細的用法可以 mongoexport –help 來查看

數據導入mongoimport

1 導入JSON 數據
我們先將表apachelog 刪除掉,以便演示效果

db.apachelog.drop();

true
show collections;
system.indexes

然后導入數據

/test/mongodb/bin/mongoimport -d wxdata -c apachelog apachelog.dat

connected to: 127.0.0.1
imported 1 objects

導入數據的時候會隱式創建表結構

2 導入CSV數據

我們先將表apachelog 刪除掉,以便演示效果

db.apachelog.drop();

true
show collections;
system.indexes

然后導入數據

/test/mongodb/bin/mongoimport -d wxdata -c apachelog --type csv --headerline --file apachelog_csv.dat

connected to: 127.0.0.1
imported 1 objects

參數說明:
--type 指明要導入的文件格式
--headerline 批明不導入第一行,因為第一行是列名
--file 指明要導入的文件路徑
注意:
CSV 格式良好,主流數據庫都支持導出為CSV 的格式,所以這種格式非常利于異構數據遷移

數據備份mongodump

用mongodump 來做MongoDB 的庫或表級別的備份

備份wxdata 數據庫

/test/mongodb/bin/mongodump -d wxdata

connected to: 127.0.0.1
DATABASE: wxdata to dump/wxdata
wxdata.system.indexes to dump/wxdata/system.indexes.bson
1 objects
wxdata.apachelog to dump/wxdata/apachelog.bson
2 objects

此時會在當前目錄下創建一個dump 目錄,用于存放備份出來的文件
也可以指定備份存放的目錄,

/test/mongodb/bin/mongodump -d wxdata -o wxdata_dump

connected to: 127.0.0.1
DATABASE: wxdata to wxdata_dump/wxdata
wxdata.system.indexes to
wxdata_dump/wxdata/system.indexes.bson
1 objects
wxdata.apachelog to wxdata_dump/wxdata/apachelog.bson
2 objects

這個例子中將備份的文件存在了當前目錄下的wxdata_dump 目錄下

數據恢復mongorestore

由于剛剛已經做了備份,所以我們先將庫wxdata 刪除掉

use wxdata

switched to db wxdata
db.dropDatabase()
{ "dropped" : "wxdata", "ok" : 1 }
show dbs
admin (empty)
local (empty)
test (empty)

接下來我們進行數據庫恢復

/test/mongodb/bin/mongorestore -d wxdata wxdata_dump/*

connected to: 127.0.0.1
Wed Apr 11 00:03:03 wxdata_dump/wxdata/apachelog.bson
Wed Apr 11 00:03:03 going into namespace [wxdata.apachelog]
Wed Apr 11 00:03:03 2 objects found
Wed Apr 11 00:03:03 wxdata_dump/wxdata/system.indexes.bson
Wed Apr 11 00:03:03 going into namespace [wxdata.system.indexes]
經驗證數據庫又回來了,其實要是想恢復庫,也大可不必先刪除wxdata 庫,只要指
明--drop 參數,就可以在恢復的時候先刪除表然后再向表中插入數據.

轉載于:https://www.cnblogs.com/yjken/p/3858112.html

總結

以上是生活随笔為你收集整理的mongodb备份恢复,数据导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。