麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

MongoDB整庫備份與還原以及單個collection備份、恢復方法

2020-03-14 13:27:16
字體:
來源:轉載
供稿:網友
mongodb數據庫維護離不開必要的備份、恢復操作,而且一般不會出錯,所以我們在使用的時候大部分時候使用備份和恢復操作就可以了
 
 
mongodump.exe備份的原理是通過一次查詢獲取當前服務器快照,并將快照寫入磁盤中,因此這種方式保存的也不是實時的,因為在獲取快照后,服務器還會有數據寫入,為了保證備份的安全,同樣我們還是可以利用fsync鎖使服務器數據暫時寫入緩存中。 

 

備份前的檢查
> show dbs
MyDB 0.0625GB
admin (empty)
bruce 0.0625GB
local (empty)
test 0.0625GB
> use MyDB
switched to db MyDB
> db.users.find()
{ "_id" : ObjectId("4e290aa39a1945747b28f1ee"), "a" : 1, "b" : 1 }
{ "_id" : ObjectId("4e2cd2182a65c81f21566318"), "a" : 3, "b" : 5 }
>

整庫備份:
mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017
-d:需要備份的數據庫實例,例如:test
-o:備份的數據存放位置,例如:c:/data/dump,當然該目錄需要提前建立,在備份完成后,系統自動在dump目錄下建立一個test目錄,這個目錄里面存放該數據庫實例的備份數據。

mongodump的官方說明(可通過mongodump --help查看):options: --help          produce help message -v [ --verbose ]     be more verbose (include multiple times for more              verbosity e.g. -vvvvv) --version        print the program's version and exit -h [ --host ] arg    mongo host to connect to ( /s1,s2 for              sets) --port arg        server port. Can also use --host hostname:port --ipv6          enable IPv6 support (disabled by default) -u [ --username ] arg  username -p [ --password ] arg  password --dbpath arg       directly access mongod database files in the given              path, instead of connecting to a mongod server -              needs to lock the data directory, so cannot be used              if a mongod is currently accessing the same path --directoryperdb     if dbpath specified, each db is in a separate              directory --journal        enable journaling -d [ --db ] arg     database to use -c [ --collection ] arg collection to use (some commands) -o [ --out ] arg (=dump) output directory or "-" for stdout -q [ --query ] arg    json query --oplog         Use oplog for point-in-time snapshotting --repair         try to recover a crashed database --forceTableScan     force a table scan (do not use $snapshot)

整庫恢復:
mongorestore -h dbhost -d dbname –directoryperdb dbdirectory
-h:MongoDB所在服務器地址
-d:需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
–directoryperdb:備份數據所在位置,例如:c:/data/dump/test,這里為什么要多加一個test,而不是備份時候的dump,讀者自己查看提示吧!
–drop:恢復的時候,先刪除當前數據,然后恢復備份的數據。就是說,恢復后,備份后添加修改的數據都會被刪除,慎用哦!

mongorestore的官方說明(可通過mongorestore --help查看):options: --help         produce help message -v [ --verbose ]    be more verbose (include multiple times for more             verbosity e.g. -vvvvv) --version        print the program's version and exit -h [ --host ] arg    mongo host to connect to ( /s1,s2 for sets) --port arg       server port. Can also use --host hostname:port --ipv6         enable IPv6 support (disabled by default) -u [ --username ] arg  username -p [ --password ] arg  password --dbpath arg      directly access mongod database files in the given             path, instead of connecting to a mongod server -             needs to lock the data directory, so cannot be used             if a mongod is currently accessing the same path --directoryperdb    if dbpath specified, each db is in a separate             directory --journal        enable journaling -d [ --db ] arg     database to use -c [ --collection ] arg collection to use (some commands) --objcheck       validate object before inserting --filter arg      filter to apply before inserting --drop         drop each collection before import --oplogReplay      replay oplog for point-in-time restore --oplogLimit arg    exclude oplog entries newer than provided timestamp             (epoch[:ordinal]) --keepIndexVersion   don't upgrade indexes to newest version --noOptionsRestore   don't restore collection options --noIndexRestore    don't restore indexes --w arg (=1)      minimum number of replicas per write

單個collection備份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服務器地址
-d: 需要恢復的數據庫實例
-c: 需要恢復的集合
-f: 需要導出的字段(省略為所有字段)
-o: 表示導出的文件名

mongoexport的官方說明(可通過mongoexport --help查看): --help          produce help message -v [ --verbose ]     be more verbose (include multiple times for more              verbosity e.g. -vvvvv) --version         print the program's version and exit -h [ --host ] arg     mongo host to connect to ( /s1,s2 for              sets) --port arg        server port. Can also use --host hostname:port --ipv6          enable IPv6 support (disabled by default) -u [ --username ] arg   username -p [ --password ] arg   password --dbpath arg       directly access mongod database files in the given              path, instead of connecting to a mongod server -              needs to lock the data directory, so cannot be used              if a mongod is currently accessing the same path --directoryperdb     if dbpath specified, each db is in a separate              directory --journal         enable journaling -d [ --db ] arg      database to use -c [ --collection ] arg  collection to use (some commands) -f [ --fields ] arg    comma separated list of field names e.g. -f              name,age --fieldFile arg      file with fields names - 1 per line -q [ --query ] arg    query filter, as a JSON string --csv           export to csv instead of json -o [ --out ] arg     output file; if not specified, stdout is used --jsonArray        output to a json array rather than one object per              line -k [ --slaveOk ] arg (=1) use secondaries for export if available, default              true --forceTableScan     force a table scan (do not use $snapshot)

單個collection恢復:
mongoimport -d dbhost -c collectionname –type csv –headerline –file
-type: 指明要導入的文件格式
-headerline: 批明不導入第一行,因為第一行是列名
-file: 指明要導入的文件路徑

mongoimport的官方說明(可通過mongoimport --help查看): --help         produce help message -v [ --verbose ]    be more verbose (include multiple times for more             verbosity e.g. -vvvvv) --version        print the program's version and exit -h [ --host ] arg    mongo host to connect to ( /s1,s2 for sets) --port arg       server port. Can also use --host hostname:port --ipv6         enable IPv6 support (disabled by default) -u [ --username ] arg  username -p [ --password ] arg  password --dbpath arg      directly access mongod database files in the given             path, instead of connecting to a mongod server -             needs to lock the data directory, so cannot be used             if a mongod is currently accessing the same path --directoryperdb    if dbpath specified, each db is in a separate             directory --journal        enable journaling -d [ --db ] arg     database to use -c [ --collection ] arg collection to use (some commands) -f [ --fields ] arg   comma separated list of field names e.g. -f name,age --fieldFile arg     file with fields names - 1 per line --ignoreBlanks     if given, empty fields in csv and tsv will be ignored --type arg       type of file to import. default: json (json,csv,tsv) --file arg       file to import from; if not specified stdin is used --drop         drop collection first --headerline      CSV,TSV only - use first line as headers --upsert        insert or update objects that already exist --upsertFields arg   comma-separated fields for the query part of the             upsert. You should make sure this is indexed --stopOnError      stop importing at first error rather than continuing --jsonArray       load a json array, not one item per line. Currently             limited to 16MB.

其他導入與導出操作:

1. mongoimport -d my_mongodb -c user user.dat

參數說明:

-d 指明使用的庫, 本例中為” my_mongodb”

-c 指明要導出的表, 本例中為”user”

可以看到導入數據的時候會隱式創建表結構

2. mongoexport -d my_mongodb -c user -o user.dat

參數說明:

-d 指明使用的庫, 本例中為” my_mongodb”

-c 指明要導出的表, 本例中為”user”

-o 指明要導出的文件名, 本例中為”user.dat”

從上面可以看到導出的方式使用的是JSON 的樣式.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色av网 | 性欧美暴力猛交69hd | 国产视频在线免费观看 | 久久综合艹 | 羞羞视频免费网站 | 成人毛片免费在线 | 亚洲午夜不卡 | 亚洲成人免费网站 | 国产精品99久久久久久董美香 | 国产精品成年片在线观看, 激情小说另类 | 毛片免费观看视频 | 亚洲国产二区 | 久久精品视频2 | 日韩精品久久久 | 国产流白浆高潮在线观看 | 欧美大胆xxxx肉体摄影 | 色婷婷a| 欧美另类在线视频 | 国产精品视频yy9299一区 | 欧美久久久一区二区三区 | 中文在线日韩 | hd极品free性xxx一护士 | 免费看搡女人无遮挡的视频 | 久久久精品网 | 欧美精品v国产精品v日韩精品 | av电影在线观看网站 | 思思久而久而蕉人 | 国产男女 爽爽爽爽视频 | 免费嗨片首页中文字幕 | 精品一区二区三区在线观看国产 | www.guochanav.com| 欧美日韩国产综合网 | 1区2区3区国产 | 九色新网址 | 日日艹夜夜艹 | 一级黄色免费大片 | 狠狠干伊人网 | 久久国产乱子伦精品 | 亚洲最大av网站 | 国产精品亚洲精品久久 | 日韩黄色av网站 |