濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法

MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法

熱門標(biāo)簽:福州電銷機(jī)器人源代碼 南京400電話怎樣辦理 機(jī)器人外呼系統(tǒng)軟件存在問題 兗州電話外呼營(yíng)銷系統(tǒng) 沈陽(yáng)營(yíng)銷電銷機(jī)器人招商 徐州ai電銷機(jī)器人原理 高德地圖標(biāo)注商戶位置 智能電銷機(jī)器人銷售話術(shù) 企業(yè)智能外呼系統(tǒng)價(jià)格多少
mongodump.exe備份的原理是通過一次查詢獲取當(dāng)前服務(wù)器快照,并將快照寫入磁盤中,因此這種方式保存的也不是實(shí)時(shí)的,因?yàn)樵讷@取快照后,服務(wù)器還會(huì)有數(shù)據(jù)寫入,為了保證備份的安全,同樣我們還是可以利用fsync鎖使服務(wù)器數(shù)據(jù)暫時(shí)寫入緩存中。

高效開源數(shù)據(jù)庫(kù)(mongodb)下載地址:https://www.jb51.net/softs/41751.html

備份前的檢查
> 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 }
>

整庫(kù)備份:
mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號(hào):127.0.0.1:27017
-d:需要備份的數(shù)據(jù)庫(kù)實(shí)例,例如:test
-o:備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動(dòng)在dump目錄下建立一個(gè)test目錄,這個(gè)目錄里面存放該數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。

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)

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

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

單個(gè)collection備份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服務(wù)器地址
-d: 需要恢復(fù)的數(shù)據(jù)庫(kù)實(shí)例
-c: 需要恢復(fù)的集合
-f: 需要導(dǎo)出的字段(省略為所有字段)
-o: 表示導(dǎ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)

單個(gè)collection恢復(fù):
mongoimport -d dbhost -c collectionname –type csv –headerline –file
-type: 指明要導(dǎo)入的文件格式
-headerline: 批明不導(dǎo)入第一行,因?yàn)榈谝恍惺橇忻?BR>-file: 指明要導(dǎo)入的文件路徑

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.

其他導(dǎo)入與導(dǎo)出操作:

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

參數(shù)說明:

-d 指明使用的庫(kù), 本例中為” my_mongodb”

-c 指明要導(dǎo)出的表, 本例中為”user”

可以看到導(dǎo)入數(shù)據(jù)的時(shí)候會(huì)隱式創(chuàng)建表結(jié)構(gòu)

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

參數(shù)說明:

-d 指明使用的庫(kù), 本例中為” my_mongodb”

-c 指明要導(dǎo)出的表, 本例中為”user”

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

從上面可以看到導(dǎo)出的方式使用的是JSON 的樣式.

您可能感興趣的文章:
  • mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)
  • 分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之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數(shù)據(jù)庫(kù)的備份與恢復(fù)操作實(shí)例
  • MongoDB的備份與恢復(fù)

標(biāo)簽:鶴崗 大理 丹東 昭通 景德鎮(zhèn) 吉安 本溪 邯鄲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法》,本文關(guān)鍵詞  MongoDB,整庫(kù),備份,與,還原,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    长葛市| 水富县| 来安县| 邢台县| 板桥市| 新巴尔虎左旗| 湘乡市| 依安县| 河北区| 柞水县| 栾川县| 温宿县| 锡林浩特市| 庆城县| 牡丹江市| 麻江县| 石家庄市| 安康市| 吉木萨尔县| 敦化市| 公安县| 博爱县| 司法| 房产| 吴忠市| 太原市| 城固县| 昌江| 泸州市| 邵东县| 洪泽县| 特克斯县| 德钦县| 扬中市| 陆丰市| 承德市| 长沙市| 博湖县| 库伦旗| 中方县| 武鸣县|