MongoDB内のファイルとフォルダーのバックアップを取りたいと思われる場合は、この記事をフォローしてください。
バックアップと復元の方法論には、mongodumoとmongorestoreを使用します。 mongodumpは、MongoDBデータベースからデータを読み取り、mongorestoreツールがMongoDBデータベースにデータを入力するために使用できる忠実度の高いBSONファイルを作成します。 mongodumpとmongorestoreは、小規模なMongoDBデプロイメントをバックアップおよび復元するためのシンプルで効率的なツールですが、大規模なシステムのバックアップをキャプチャするのには理想的ではありません。続きを読む
mongodumpを使用してバックアップを取る:
[[email protected] mongo]# mongodump --out=/home/mongoBackup --db=mughees 2019-10-21T13:32:48.421+0300 writing mughees.myNewCollection1 to 2019-10-21T13:32:48.422+0300 writing mughees.myNewCollection2 to 2019-10-21T13:32:48.425+0300 done dumping mughees.myNewCollection1 (3 documents) 2019-10-21T13:32:48.427+0300 writing mughees.myNewCollection3 to 2019-10-21T13:32:48.429+0300 done dumping mughees.myNewCollection3 (0 documents) 2019-10-21T13:32:48.431+0300 done dumping mughees.myNewCollection2 (1 document)
–out==>バックアップ出力を取得するパスを提供します。
–db==>バックアップを取るデータベースの名前。
DROP mughees DB:
>show databases admin 0.000GB config 0.000GB local 0.000GB mughees 0.000GB db.dropDatabase() db.dropDatabase() { "dropped" : "mughees", "ok" : 1 } > Now we will create a mughees DB again and check if there is any collection available > use mughees use mughees switched to db mughees > show collectionsshow collections #no collection will be shown >
データベースが削除されたため、コレクションは表示されていません
> show databases; show databases; admin 0.000GB config 0.000GB local 0.000GB
mughees DBは作成しましたが、DB内にコレクションを作成するまで、DBは作成されません。
Mughees DBを復元します:
次に、mughees dbのバックアップを復元して、同じデータベースが作成されていることを確認します。
[[email protected] mongo]# mongorestore --db=mughees /home/mongoBackup/mughees 2019-10-21T13:41:34.773+0300 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 2019-10-21T13:41:34.774+0300 building a list of collections to restore from /home/mongoBackup/mughees dir 2019-10-21T13:41:34.776+0300 reading metadata for mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.metadata.json 2019-10-21T13:41:34.783+0300 reading metadata for mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.metadata.json 2019-10-21T13:41:34.784+0300 reading metadata for mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.metadata.json 2019-10-21T13:41:34.828+0300 restoring mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.bson 2019-10-21T13:41:34.832+0300 no indexes to restore 2019-10-21T13:41:34.832+0300 finished restoring mughees.myNewCollection1 (3 documents, 0 failures) 2019-10-21T13:41:34.866+0300 restoring mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.bson 2019-10-21T13:41:34.869+0300 no indexes to restore 2019-10-21T13:41:34.871+0300 finished restoring mughees.myNewCollection2 (1 document, 0 failures) 2019-10-21T13:41:34.881+0300 restoring mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.bson 2019-10-21T13:41:34.895+0300 restoring indexes for collection mughees.myNewCollection3 from metadata 2019-10-21T13:41:34.921+0300 finished restoring mughees.myNewCollection3 (0 documents, 0 failures) 2019-10-21T13:41:34.921+0300 4 document(s) restored successfully. 0 document(s) failed to restore. [[email protected] mongo]#
復元データベースを確認します:
それでは、データベースとその中のコレクションが利用可能かどうかを確認しましょう:
>show databases; admin 0.000GB config 0.000GB local 0.000GB mughees 0.000GB > > use mugheesuse mughees switched to db mughees > show collectionsshow collections myNewCollection1 myNewCollection2 myNewCollection3