MongoDBデータインポートエクスポート/バックアップ/リカバリ
4685 ワード
MongoDBデータベースの作成(構成手順):https://blog.csdn.net/wgw_dream/article/details/83684503
#############################################################データバックアップ
###ディレクトリを指定しない場合は自動的に再現在ディレクトリを生成
2018-10-28T18:14:12.585+0800 writing admin.system.version to 2018-10-28T18:14:12.586+0800 done dumping admin.system.version (1 document) 2018-10-28T18:14:12.586+0800 writing ddsdb.t1 to 2018-10-28T18:14:12.586+0800 writing test.t1 to 2018-10-28T18:14:12.586+0800 writing ddsdb.col to 2018-10-28T18:14:12.587+0800 done dumping ddsdb.t1 (17 documents) 2018-10-28T18:14:12.588+0800 done dumping test.t1 (1 document) 2018-10-28T18:14:12.588+0800 done dumping ddsdb.col (0 documents)
dump
{"_id":{“KaTeX parse error: Expected 'EOF', got '}' at position 32: …cdd1574b851f16"}̲,"name":"bob","…oid”:“5badfd626827555e3fd86817”},“lname”:“html”,“codecript”:{“KaTeX parse error: Expected 'EOF', got '}' at position 29: …on (){/*...*/}"}̲} {"_id":{"oid”:“5badfd6a6827555e3fd86818”},“lname”:“html”,“codecript”:{"$code":“function (){/\u003chtml\u003e\u003ch1\u003eabc\u003c/h1\u003e\u003c/html\u003e/}”}} 2018-10-28T18:15:45.948+0800 17 objects found
バックアップbbsdbライブラリとバックアップディレクトリを指定[root@mongodb ~]# mongodump --host 192.168.4.51 --port 27051 -d ddsdb -o/root/bbsdb 2018-10-28T18:23:30.389+0800 writing ddsdb.t1 to 2018-10-28T18:23:30.389+0800 writing ddsdb.col to 2018-10-28T18:23:30.391+0800 done dumping ddsdb.t1 (17 documents) 2018-10-28T18:23:30.391+0800 done dumping ddsdb.col(0 documents)/-dどのライブラリを準備するか、-oバックアップのディレクトリを指定し、bbsdbライブラリ内のすべてを/root/bbsdbにバックアップする
################################################################################
2018-10-28T18:26:16.889+0800 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead 2018-10-28T18:26:16.890+0800 building a list of collections to restore from/root/bbsdb.t/ddsdb dir 2018-10-28T18:26:16.891+0800 reading metadata for ddsdb.t1 from/root/bbsdb.t/ddsdb/t1.metadata.json 2018-10-28T18:26:16.891+0800 restoring ddsdb.t1 from/root/bbsdb.t/ddsdb/t1.bson 2018-10-28T18:26:16.893+0800 no indexes to restore 2018-10-28T18:26:16.893+0800 finished restoring ddsdb.t1 (17 documents) 2018-10-28T18:26:16.893+0800 done
#########################################################################################################
2018-09-28T18:29:24.653+0800 connected to: 192.168.4.51:27077 2018-09-28T18:29:24.654+0800 exported 17 records
jsonのフォーマットでエクスポート
//jsonフォーマットのエクスポート2018-10-28 T 18:33:13.349+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:33:13.350+0800 exported 17 records
//列名エクスポートを指定し、nameフィールドをエクスポートする2018-10-28 T 18:33:35.914+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:33:35.915+0800 exported 17 records
##############################################################################################################
2018-10-28T18:35:22.341+0800 connected to: 192.168.4.51:27077 2018-10-28T18:35:22.343+0800 imported 17 documents
csv形式でインポートし、表にデータを入れることができます.
//ファイルの列名を指定しなければなりません.そうしないと成功しません.-fと-headerlineは一緒に使用できません.-headerline:最初の行のフィールドを非表示にしてファイル列のタイトルnameを削除します.そうしないと、タイトルも導入されます.インポート時にt 1表は2018-10-28 T 18:37:36.78+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:37:37.79+0800 imported 11 documents
#############################################################データバックアップ
###ディレクトリを指定しない場合は自動的に再現在ディレクトリを生成
[root@mongodb ~]# mongodump --host 192.168.4.51 --port 27051
// , , , dump ,
2018-10-28T18:14:12.585+0800 writing admin.system.version to 2018-10-28T18:14:12.586+0800 done dumping admin.system.version (1 document) 2018-10-28T18:14:12.586+0800 writing ddsdb.t1 to 2018-10-28T18:14:12.586+0800 writing test.t1 to 2018-10-28T18:14:12.586+0800 writing ddsdb.col to 2018-10-28T18:14:12.587+0800 done dumping ddsdb.t1 (17 documents) 2018-10-28T18:14:12.588+0800 done dumping test.t1 (1 document) 2018-10-28T18:14:12.588+0800 done dumping ddsdb.col (0 documents)
[root@mongodb ~]# ls
dump
[root@mongodb ~]# bsondump dump/ddsdb/t1.bson // bson
{"_id":{“KaTeX parse error: Expected 'EOF', got '}' at position 32: …cdd1574b851f16"}̲,"name":"bob","…oid”:“5badfd626827555e3fd86817”},“lname”:“html”,“codecript”:{“KaTeX parse error: Expected 'EOF', got '}' at position 29: …on (){/*...*/}"}̲} {"_id":{"oid”:“5badfd6a6827555e3fd86818”},“lname”:“html”,“codecript”:{"$code":“function (){/\u003chtml\u003e\u003ch1\u003eabc\u003c/h1\u003e\u003c/html\u003e/}”}} 2018-10-28T18:15:45.948+0800 17 objects found
バックアップbbsdbライブラリとバックアップディレクトリを指定[root@mongodb ~]# mongodump --host 192.168.4.51 --port 27051 -d ddsdb -o/root/bbsdb 2018-10-28T18:23:30.389+0800 writing ddsdb.t1 to 2018-10-28T18:23:30.389+0800 writing ddsdb.col to 2018-10-28T18:23:30.391+0800 done dumping ddsdb.t1 (17 documents) 2018-10-28T18:23:30.391+0800 done dumping ddsdb.col(0 documents)/-dどのライブラリを準備するか、-oバックアップのディレクトリを指定し、bbsdbライブラリ内のすべてを/root/bbsdbにバックアップする
################################################################################
[root@mongodb ~]# mongorestore --host 192.168.4.51 --port 27051 -d ddsdb /root/bbsdb.t/ddsdb/
//-d ddsdb , /root/bbsdb.t1/ddsdb/
2018-10-28T18:26:16.889+0800 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead 2018-10-28T18:26:16.890+0800 building a list of collections to restore from/root/bbsdb.t/ddsdb dir 2018-10-28T18:26:16.891+0800 reading metadata for ddsdb.t1 from/root/bbsdb.t/ddsdb/t1.metadata.json 2018-10-28T18:26:16.891+0800 restoring ddsdb.t1 from/root/bbsdb.t/ddsdb/t1.bson 2018-10-28T18:26:16.893+0800 no indexes to restore 2018-10-28T18:26:16.893+0800 finished restoring ddsdb.t1 (17 documents) 2018-10-28T18:26:16.893+0800 done
#########################################################################################################
[root@mongodb ~]# mongoexport --host 192.168.4.51 --port 27051 \
> -d userdb -c t1 -f name --type=csv -o /root/userdb_t1.csv
// csv , , name
2018-09-28T18:29:24.653+0800 connected to: 192.168.4.51:27077 2018-09-28T18:29:24.654+0800 exported 17 records
jsonのフォーマットでエクスポート
[root@mongodb ~]# mongoexport --host 192.168.4.51 --port 27051 -d userdb -c t1 --type=json -o /root/userdb_t1.json
//jsonフォーマットのエクスポート2018-10-28 T 18:33:13.349+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:33:13.350+0800 exported 17 records
[root@mongodb ~]# mongoexport --host 192.168.4.51 --port 27051 -d ddsdb -c t1 -f name --type=json -o /root/userdb_t1_name.json
//列名エクスポートを指定し、nameフィールドをエクスポートする2018-10-28 T 18:33:35.914+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:33:35.915+0800 exported 17 records
##############################################################################################################
[root@mongodb ~]# mongoimport --host 192.168.4.51 --port 27051 -d userdb -c t1 --type=json /root/userdb_t1.json
2018-10-28T18:35:22.341+0800 connected to: 192.168.4.51:27077 2018-10-28T18:35:22.343+0800 imported 17 documents
csv形式でインポートし、表にデータを入れることができます.
[root@mongodb ~]# mongoimport --host 192.168.4.51 --port 27051 -d userdb -c t1 --headerline --type=csv /root/userdb_t1.csv
//ファイルの列名を指定しなければなりません.そうしないと成功しません.-fと-headerlineは一緒に使用できません.-headerline:最初の行のフィールドを非表示にしてファイル列のタイトルnameを削除します.そうしないと、タイトルも導入されます.インポート時にt 1表は2018-10-28 T 18:37:36.78+0800 connected to:192.168.4.51:27077 2018-10-28 T 18:37:37.79+0800 imported 11 documents