MongoDB:データバックアップとリカバリ

2087 ワード

転載は出典を明記してください.https://blog.csdn.net/l1028386804/article/details/80000764

一、データバックアップmongodump


mongodumpでMongoDBのライブラリまたはテーブルレベルのバックアップを行うことができます.次に、バックアップmy_の例を示します.mongodbデータベース
[root@localhost bin]# ./mongodump -d my_mongodb
connected to: 127.0.0.1
DATABASE: my_mongodb to dump/my_mongodb
my_mongodb.system.indexes to dump/my_mongodb/system.indexes.bson
1 objects
my_mongodb.user to dump/my_mongodb/user.bson
2 objects
[root@localhost bin]# ll
  67648
-rwxr-xr-x 1 root root 7508756 2011-04-06 bsondump
drwxr-xr-x 3 root root 4096 04-10 23:54 dump
-rwxr-xr-x 1 root root 2978016 2011-04-06 mongo
現在のディレクトリの下にdumpディレクトリが作成されます.バックアップされたファイルを保存するか、バックアップされたディレクトリを指定できます.
[root@localhost bin]# ./mongodump -d my_mongodb -o my_mongodb_dump
connected to: 127.0.0.1
DATABASE: my_mongodb to my_mongodb_dump/my_mongodb
my_mongodb.system.indexes to
my_mongodb_dump/my_mongodb/system.indexes.bson
1 objects
my_mongodb.user to my_mongodb_dump/my_mongodb/user.bson
2 objects
[root@localhost bin]#
この例では、バックアップされたファイルが現在のディレクトリのmy_に存在します.mongodb_dumpディレクトリの下.

二、データ回復mongorestore


バックアップをしたばかりなので、まずライブラリmy_をmongodb削除
> use my_mongodb
switched to db my_mongodb
> db.dropDatabase()
{ "dropped" : "my_mongodb", "ok" : 1 }
> show dbs
admin (empty)
local (empty)
test (empty)
>
データベース・リカバリ
[root@localhost bin]# ./mongorestore -d my_mongodb my_mongodb_dump/*
connected to: 127.0.0.1
Wed Apr 11 00:03:03 my_mongodb_dump/my_mongodb/user.bson
Wed Apr 11 00:03:03 going into namespace [my_mongodb.user]
Wed Apr 11 00:03:03 2 objects found
Wed Apr 11 00:03:03 my_mongodb_dump/my_mongodb/system.indexes.bson
Wed Apr 11 00:03:03 going into namespace [my_mongodb.system.indexes]
Wed Apr 11 00:03:03 { name: "_id_", ns: "my_mongodb.user", key: { _id: 1 }, v: 0 }
Wed Apr 11 00:03:03 1 objects found
[root@localhost bin]#
経験証データベースが戻ってきましたが、ライブラリを復元するには、myを削除する必要はありません.mongodbライブラリ–dropパラメータを指定すると、リカバリ時にテーブルを削除してからテーブルにデータを挿入できます.