我正在尝试将我的数据库迁移到一台新机器上。当我在cmd中使用mongodump时出现错误:失败:转储元数据时出错:为元数据文件dump\margin_calls创建目录时出错:mkdirdump:访问被拒绝。我知道我需要授予“备份”权限才能执行此操作,但我不知道该怎么做。编辑:我认为这对于熟悉mongodb环境的人来说是一个很简单的问题? 最佳答案 我遇到了同样的问题。这是因为您对该目录没有写权限。您可以将命令更改为:mongodump--outC:\Users\{YourUser}\Desktop例如。因此备份转储存储在桌面的一个
我有一个脚本可以转储数据库并将其复制到S3。这是调用脚本的crontab条目:*/1****/root/scripts/backupDB.sh备份数据库.sh:#!/bin/sh-ePATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/date_now=`date+%Y_%m_%d_%H_%M`dir_name="db_backup"tar_name="db_backup_${date_now}.tar.gz"file_name="${dir_name}/${tar_name}"if[-z"$di
我想将一个指定的字段转储到文件中。假设我有一个用户名、电子邮件和ID的集合,但我只想打印出字段url的所有内容,就像mongod中的这个语句:db.users.find({},{"email":1});现在我用查询选项尝试了mongodump,但它不起作用:mongodump--db'mydb'--collection'users'--query'{},{"email":1}'基本上我只是想将一个字段的内容放入一个可读文件中。有没有办法在没有脚本的情况下在命令行上执行此操作?编辑:我自己找到了解决方案。我需要具有字段选项的“mongoexport”。 最佳答
此查询与从现有大型数据库构建小型MongoDB测试数据库有关。我的执行计划如下:a)将mongodump与聚合查询一起使用,该查询指定了我将记录复制到测试数据库的条件。这个想法行得通吗?从我在论坛上读到的内容来看,在mongodump命令中使用MongoDB查询是行不通的。非常感谢有关此的任何指导。 最佳答案 您可以使用以下命令获取数据库的子集。mongodump--query"yourqueryhere"有关更多信息,请阅读mongodump文档here. 关于mongodb-创建现有
我在恢复转储和重播MongoDB上的操作日志时遇到了一些问题。我必须重播oplog到某个时间点,因此发出以下命令:mongorestore--port--db--oplogReplay--oplogLimit但是mongorestore回复“Canonlyreplayoplogonfullrestore”。Lookingatthesourcecode当用户未指定--db选项时似乎会显示此错误消息,但我指定了。您知道还有什么原因吗? 最佳答案 我认为这是相反的问题-使用oplog选项时不能指定数据库。您找到的代码:if(mongoRe
我需要一种方法来为特定的mongo数据库生成快照,并能够在另一台服务器上重新创建该数据库。我熟悉mongodump和mongorestore命令,但是我需要一个人类可读的文件(或者最好将所有内容打印到标准输出)整个数据库,mongodump还没有,这是已知和预期的,herearethedetailswhy.我有两个相关的问题。首先,mongodump是否产生除了集合名称和索引之外的任何其他关键数据(当转储特定数据库时),如果它产生了什么?如果我没记错的话,mongo可能不喜欢不同版本的转储,这也可能是个问题,是这样吗?其次,如果我手动提取集合名称和索引信息,将其存储到我自己的格式的js
今天我正在执行mongodump来备份文件大小约为2GB的数据库,但转储文件中只有大约600MB。mongodump运行没有报错,后来发现是少了一些文件。如果不是因为文件大小的巨大差异,我不知道转储不成功。是否有标准方法来检查转储文件是否正确?p.s:看来我可以使用db.stats()来检查原始数据库信息,然后mongorestore转储数据库并执行db.stats()比较总文件大小。并且这两个文件大小相同(我说的对吗)?p.s:如果我的虚拟机有500MB的内存,它能成功转储2GB的文件吗? 最佳答案 您有一个文件大小为2GB的数据
我正在使用mongodump工具收集备份,在此期间我使用excludeCollection选项排除了一些我不需要的收集。作为mongodump的一部分,我们有一个系统集合system.indexes,如果我从备份中排除这个集合,在恢复过程中会有什么影响吗? 最佳答案 根据文档。mongodumponlycapturesthedocumentsinthedatabaseinitsbackupdataanddoesnotincludeindexdata.还有……mongorestorerecreatesindexesrecordedby
我知道如何使用MongoDump使用以下命令转储特定查询的结果:mongodump--usernameUSER--passwordPASSWORD--dbDBNAME--collectionCOLLECTION-NAME--query"{\"SOME-COLUMN\":{\"$binary\":\"SOME-BIN-DATA==\",\"$type\":\"03\"}}"但这将返回整个文档。是否可以使用MongoDump返回文档的一个子集?我希望MongoDump仅返回与查询匹配的所有集合的ID,这可能吗?谢谢! 最佳答案 mong
来自mongodocs:覆盖文件"Mongodump覆盖备份数据文件夹中存在的输出文件。在多次运行mongodump命令之前,请确保您不再需要输出文件夹中的文件(默认为dump/文件夹)或重命名文件夹或文件。”大家好,我想每天做一次备份,有时甚至一天做两次备份。转储文件名按实际日期命名。如果我每天备份两次,第一个备份会因名称相同而被覆盖。如果文件已经存在,有什么方法可以告诉mongodump重命名(例如5.9.2016(1))文件? 最佳答案 您可以使用--outmongodump的选项指定转储数据的路径。创建一个运行mongodu