MongoDBライブラリ全体のバックアップとリストア、および単一collectionのバックアップ、リカバリ
9209 ワード
バックアップ前のチェック>show dbsMyDB 0.0625 GBadmin(empty)bruce 0.0625 GBlocal(empty)test 0.0625 GB>use MyDbswitched 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:datadump、もちろんこのディレクトリは事前に確立する必要があります.バックアップが完了した後、システムは自動的にdumpディレクトリの下にtestディレクトリを構築します.このディレクトリには、データベース・インスタンスのバックアップ・データが格納されます.
ライブラリ全体のリカバリ:mongorestore-h dbhost-d dbname–directoryperdbdirectory-h:MongoDBが存在するサーバアドレス-d:リカバリが必要なデータベースインスタンス、例えばtest、もちろんこの名前はバックアップ時とは異なります.例えばtest 2-directoryperdb:バックアップデータが存在する場所、例えば:c:datadumptest、ここでなぜバックアップ時のdumpではなくtestを追加するのか、読者は自分でヒントを見ましょう!–drop:リカバリするときは、現在のデータを削除し、バックアップしたデータをリカバリします.つまり、リカバリ後、バックアップ後に変更を加えたデータは削除されますので、ご遠慮ください.
単一collectionバックアップ:mongoexport-h dbhost-d dbname-c collectionname-f collectionKey-o dbdirectory-h:MongoDBが存在するサーバアドレス-d:リカバリが必要なデータベースインスタンス-c:リカバリが必要なセット-f:エクスポートが必要なフィールド(すべてのフィールドを省略)-o:エクスポートされたファイル名を示す
単一collectionリカバリ:mongoimport-d dbhost-c collectioname–type csv–headerline–file-type:インポートするファイルのフォーマットを示す-headerline:最初の行が列名-fileであるため、最初の行がインポートされないことを示す:インポートするファイルのパスを示す
その他のインポートとエクスポート操作:
1. mongoimport -d my_mongodb -c user user.Dataパラメータの説明:-dは使用するライブラリを示し、この例では「my_mongodb-cは、エクスポートするテーブルを示します.この例では「user」では、データのインポート時にテーブル構造が暗黙的に作成されることがわかります.
2. mongoexport -d my_mongodb -c user -o user.Dataパラメータの説明:-dは使用するライブラリを示し、この例では「my_mongodb-cはエクスポートするテーブルを示し、この例では「user」-oはエクスポートするファイル名を示し、この例では「user」である.dat」上から見えるように書き出す方式はJSONの様式を用いる.
http://www.cr173.com/html/20275_1.html
ライブラリ全体のバックアップ:mongodump-h dbhost-d dbname-o dbdirectory-h:MongDBが存在するサーバアドレス、例えば:127.0.0.1、もちろんポート番号を指定することもできます:127.0.0.1:27017-d:バックアップが必要なデータベースインスタンス、例えば:test-o:バックアップのデータ格納場所、例えば:c:datadump、もちろんこのディレクトリは事前に確立する必要があります.バックアップが完了した後、システムは自動的に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–directoryperdbdirectory-h:MongoDBが存在するサーバアドレス-d:リカバリが必要なデータベースインスタンス、例えばtest、もちろんこの名前はバックアップ時とは異なります.例えばtest 2-directoryperdb:バックアップデータが存在する場所、例えば:c:datadumptest、ここでなぜバックアップ時のdumpではなくtestを追加するのか、読者は自分でヒントを見ましょう!–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 collectioname–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.Dataパラメータの説明:-dは使用するライブラリを示し、この例では「my_mongodb-cは、エクスポートするテーブルを示します.この例では「user」では、データのインポート時にテーブル構造が暗黙的に作成されることがわかります.
2. mongoexport -d my_mongodb -c user -o user.Dataパラメータの説明:-dは使用するライブラリを示し、この例では「my_mongodb-cはエクスポートするテーブルを示し、この例では「user」-oはエクスポートするファイル名を示し、この例では「user」である.dat」上から見えるように書き出す方式はJSONの様式を用いる.
http://www.cr173.com/html/20275_1.html