MongoDB 备份和还原
-
创建备份
在本章中,我们将看到如何在MongoDB中创建备份。 -
转储MongoDB数据
要在MongoDB中创建数据库备份,应使用mongodump命令。此命令会将服务器的全部数据转储到转储目录中。您可以通过许多选项来限制数据量或创建远程服务器的备份。语法mongodump命令的基本语法如下->mongodump
例启动您的mongod服务器。假设您的mongod服务器在本地主机和端口27017上运行,请打开命令提示符并转到mongodb实例的bin目录,然后键入命令mongodump。>mongodump
例该命令将连接到运行于127.0.0.1和端口27017的服务器,并将服务器的所有数据返回到当前目录/dump/。以下是命令的输出-2020-08-31T14:05:46.280+0800 writing admin.system.version to dump\admin\system.version.bson 2020-08-31T14:05:46.499+0800 done dumping admin.system.version (1 document) 2020-08-31T14:05:46.500+0800 writing my_db.people to dump\my_db\people.bson 2020-08-31T14:05:46.505+0800 done dumping my_db.people (2 documents)
以下是可与mongodump命令一起使用的可用选项的列表。语法 描述 例子 mongodump /host HOST_NAME /port PORT_NUMBER 该命令将备份指定mongod实例的所有数据库。 mongodump /host cainiaoya.com /port 27017 mongodump /db:DB_NAME --out BACKUP_DIRECTORY 此命令将仅备份指定路径上的指定数据库。 mongodump /db:mydb /out /data/backup/ mongodump /collection:COLLECTION_NAME /db:DB_NAME 此命令将仅备份指定数据库的指定集合。 mongodump /collection:mycol /db:test -
恢复数据
要还原备份数据,请使用MongoDB的mongorestore命令。此命令从备份目录还原所有数据。mongorestore命令的基本语法是->mongorestore
以下是命令的输出-2020-08-31T14:33:32.999+0800 using default 'dump' directory # 默认使用当前文件夹dump下面的数据来进行还原 2020-08-31T14:33:33.058+0800 preparing collections to restore from 2020-08-31T14:33:33.061+0800 restoring to existing collection my_db.people without dropping 2020-08-31T14:33:33.061+0800 reading metadata for my_db.people from dump\my_db\people.metadata.json 2020-08-31T14:33:33.062+0800 restoring my_db.people from dump\my_db\people.bson 2020-08-31T14:33:33.073+0800 continuing through error: E11000 duplicate key error collection: my_db.people index: _id_ dup key: { _id: ObjectId('5f437edfd1b84f3c344ea558') } 2020-08-31T14:33:33.073+0800 continuing through error: E11000 duplicate key error collection: my_db.people index: _id_ dup key: { _id: ObjectId('5f438082d1b84f3c344ea559') } 2020-08-31T14:33:33.074+0800 no indexes to restore 2020-08-31T14:33:33.074+0800 finished restoring my_db.people (0 documents, 2 failures) 2020-08-31T14:33:33.074+0800 0 document(s) restored successfully. 2 document(s) failed to restore.
提示:使用命令的 --help 选项来查看使用帮助。