我曾经mongodump
转储我的 mongodb 数据库,它在下面创建了一些 bson 文件dump/mydb
但我不知道如何使用它们。我试过mongoimport
了,但似乎无法导入 bson 数据。那么如何使用这些bson文件呢?如何将它们导入另一个 mongodb?
我曾经mongodump
转储我的 mongodb 数据库,它在下面创建了一些 bson 文件dump/mydb
但我不知道如何使用它们。我试过mongoimport
了,但似乎无法导入 bson 数据。那么如何使用这些bson文件呢?如何将它们导入另一个 mongodb?
您需要使用mongorestore,而不是 mongoimport ...,它用于导入 json 或 csv 等。
从back-up-with-mongodump
文档:
mongodump
从 MongoDB 数据库中读取数据并创建高保真 BSON 文件,该mongorestore
工具可用于填充 MongoDB 数据库。
mongodump
并且mongorestore
是用于备份和恢复小型 MongoDB 部署的简单高效的工具,但对于捕获大型系统的备份并不理想。
您可以在下面的文档中阅读有关mongorestore的更多信息;我会看一下并阅读它们,因为它们非常有帮助。
http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore
您还可以查看http://learnmongo.com以获取提示和帮助!
我正在使用mongodump,mongorestore进行日常备份和从备份中恢复。我有两个.bat
文件:
首先,用于备份,您只需指定主机数据库名称和备份文件夹:
SET host=localhost:27020
SET dbNameToDump=MyDB
SET backupsFolder=Backups
mongodump.exe --host %host% --db %dbNameToDump%
SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%"
cd %backupsFolder%
md %date%
xcopy /e ..\dump %date%
rmdir /s /q ..\dump
上面的 bat 文件2011-03-31.11-17(yyyy-MM-dd.hh-ss)
在文件夹 Backups 中创建具有类似名称的文件夹,其中包含来自指定数据库的转储集合。在文件资源管理器中,它看起来像这样:
我用于恢复指定转储文件的第二个 bat 文件(这里您还需要指定数据库名称和包含转储文件的文件夹):
SET host=localhost:27020
SET dbNameToRestore=MyDB
SET restoreFolder=Restore
mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder%
在文件资源管理器中:
此外,我正在使用 Windows 计划来自动执行备份过程。
希望以上信息对某人有用。
如前面的答案所述,您必须使用mongorestore
而不是mongoimport
. 添加到前面的答案,当您的 mongodb 运行时,执行以下命令从转储目录恢复您的转储,
mongorestore dump
这会将所有集合导入您的mydb数据库。但是,这不会在还原之前删除数据库。如果您希望在导入前删除数据库,
mongorestore --drop dump
mydb目录中的 bson 文件将恢复为mydb数据库中的集合。有关 mongorestore 的更多信息,请查看此处的文档。
使用 mongorestore。mongoimport 处理 mongoexport 的输出。mongodump 和 mongorestore 处理二进制数据文件,而导入/导出处理 json、csv 等。(人类可读格式)
为了解决这个问题,我将转储文件夹dbdump(包含 bson 文件)复制到 mongodb 的 bin 目录,并在命令提示符下执行以下命令:
1. cd "MongoDB 的 bin 文件夹路径"
(示例:cd C:\Program Files\MongoDB\Server\3.2\bin)
2. mongorestore.exe --dir ./目录名 --db 数据库名
(例如:mongorestore --dir ./dbdump --db testdb)
转储文件夹中的所有 bson 文件都将导入到您的数据库中。您可以通过执行以下命令来验证这一点:
cd "path to MongoDB's bin folder"
mongo.exe
show dbs;
对于 mongo 版本 3 及更高版本,请使用以下命令:
mongorestore --host=localhost --port=27017 --username=root --authenticationDatabase=admin --db=test dump_folder/
之后Mongo会询问密码