MongoDB之整庫備份還原單表collection備份還原,mongodb單表

來源:互聯網
上載者:User

MongoDB之整庫備份還原單表collection備份還原,mongodb單表

MongoDB之整庫備份還原單表collection備份還原

cd D:\MongoDB\bin

 

1整庫備份:

mongodump -h dbhost -d dbname -o dbdirectory

-h:MongDB所在伺服器位址,例如:127.0.0.1:27017

-d:需要備份的資料庫執行個體,例如:wlwdb

-o:備份的資料存放位置,例如:D:\MongoDB\data\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立一個wlwdb目錄,這個目錄裡面存放該資料庫執行個體的備份資料。

eg:

mongodump -h 127.0.0.1 -d wlwdb -o D:\MongoDB\data\dump


可以查看該備份目錄:


mongodump --help


mongodump的官方說明: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)

2整庫恢複:

mongorestore -h dbhost -d dbname –directoryperdb dbdirectory

-h:MongoDB所在伺服器位址

-d:需要恢複的資料庫執行個體,例如:wlwdb(可以和備份時候的不一樣)

–directoryperdb:備份資料所在位置,例如:D:\MongoDB\data\dump\wlwdb

–drop:恢複的時候,先刪除當前資料,然後恢複備份的資料。

eg:

mongorestore -h 127.0.0.1 -d wlwdb –directoryperdb D:\MongoDB\data\dump\wlwdb

 

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

3單個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)

4單個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.



SQL資料庫還原問題,有一個Database Backup還原出現這個提示2000與2005都一樣的提示@@

這個錯誤說明資料庫的版本不符,你是在把從SQLServer2008/2005的資料庫上備份的資料還原到SQLServer2000資料庫上?首先確保串連到了資料庫伺服器上;其次還原的備份與需要還原的裝置都是SQL2005。SQL資料的備份在2008與2000上不可以通用。如果系統同時安裝了sqlserver2000跟sqlserver2005,在還原時可能會出現上述錯誤,解決方案---於資料庫屬性-選項-相容層級->sqlsever2000(80),或在安裝時為sqlserver2000跟sqlserver2005一個或兩個都指定執行個體名。有問題再追問。
 
Oracle怎備份還原資料庫

一、 匯出/匯入(export/import)

---- 利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回oracle資料庫中去。

---- 1. 簡單匯出資料(export)和匯入資料(import)

---- oracle支援三種類型的輸出:

---- (1)表方式(t方式),將指定表的資料匯出。

---- (2)使用者方式(u方式),將指定使用者的所有對象及資料匯出。

---- (3)全庫方式(full方式),將資料庫中的所有對象匯出。

---- 資料匯出(import)的過程是資料匯入(export)的逆過程,它們的資料流向不同。

---- 2. 增量匯出/匯入

---- 增量匯出是一種常用的資料備份方法,它只能對整個資料庫來實施,並且必須作為system來匯出。在進行此種匯出時,系統不要求回答任何問題。匯出檔案名稱預設為export.dmp,如果不希望自己的輸出檔案定名為export.dmp,必須在命令列中指出要用的檔案名稱。

---- 增量匯出包括三個類型:

---- (1)“完全”增量匯出(complete)

---- 即備份整個資料庫,比如:

---- $exp system/manager inctype=complete file=990702.dmp

---- (2) “增量型”增量匯出

---- 備份上一次備份後改變的資料。比如:

---- $exp system/manager inctype=incremental file=990702.dmp

---- (3) “累計型”增量匯出(cumulative)

---- 累計型匯出方式只是匯出自上次“完全” 匯出之後資料庫中變化了的資訊。比如:

---- $exp system/manager inctype=cumulative file=990702.dmp

---- 資料庫管理員可以排定一個備份議程表,用資料匯出的三個不同方式合理高效地完成。

---- 比如資料庫的備份任務可作如下安排:

---- 星期一:完全匯出(a)

---- 星期二:增量匯出(b)

---- 星期三:增量匯出(c)

---- 星期四:增量匯出(d)

---- 星期五:累計匯出(e)

---- 星期六:增量匯出(f)

---- 星期日:增量匯出(g)

---- 如果在星期日,資料庫遭到意外破壞,資料庫管理員可按以下步驟來恢複資料庫:

---- 第一步:用命令create database重建資料庫結構;

---- 第二步:建立一個足夠大的附加回段。

---- 第三步:完全增量匯入a:

---- $imp system./manager inctype= rectore full=y file=a

---- 第四步:累計增量匯入e:

---- $imp system/manager inctype= rectore full=y file =e

---- 第五步:最近增量匯入f:

---- $imp system/manager inctype=restore full=y file=f

---- 二、 冷備份

---- 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種......餘下全文>>
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.