日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)

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

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/5/13 11:22:03字體大。A-A+

      作者:西西點(diǎn)擊:320次評(píng)論:0次標(biāo)簽: MongoDB

      • 類型:編程控件大。191KB語言:中文 評(píng)分:6.6
      • 標(biāo)簽:
      立即下載

      mongodb數(shù)據(jù)庫(kù)維護(hù)離不開必要的備份、恢復(fù)操作,而且一般不會(huì)出錯(cuò),所以我們?cè)谑褂玫臅r(shí)候大部分時(shí)候使用備份和恢復(fù)操作就可以了。

      mongodump.exe備份的原理是通過一次查詢獲取當(dāng)前服務(wù)器快照,并將快照寫入磁盤中,因此這種方式保存的也不是實(shí)時(shí)的,因?yàn)樵讷@取快照后,服務(wù)器還會(huì)有數(shù)據(jù)寫入,為了保證備份的安全,同樣我們還是可以利用fsync鎖使服務(wù)器數(shù)據(jù)暫時(shí)寫入緩存中。

      高效開源數(shù)據(jù)庫(kù)(mongodb)
      2.9
      類別: 數(shù)據(jù)庫(kù)類    大。130.4M    語言: 英文
      查看詳細(xì)信息 >>

      備份前的檢查
      > 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 的樣式.

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)