sql >> データベース >  >> NoSQL >> MongoDB

MongoDumpを使用したMongoDBのバックアップと復元

    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

    1. .rdbファイルがありますが、Redisは起動後に空になります

    2. 配列フィールドにMongoDBの一意の値または別の配列が含まれているかどうかを確認するにはどうすればよいですか?

    3. 画像をmongodbに保存する

    4. FUSEファイルシステムでLinuxVFSキャッシュを使用することは可能ですか?