问题标签 [mongodump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1584 浏览

mongodb - Mongodump 查询错误

执行时,mongodump抱怨:

如果我逃避$andand$gt子句:

相反,它会抱怨

此查询在mongodbshell 上成功运行,我不明白为什么不能将其--query用作mongodump.

0 投票
0 回答
1723 浏览

mongodb - 从 2.6 升级到 3.0 后 Mongodump 经常失败

我正在将我们的数据库升级到 Mongo 3.0,我正在将我们的日常备份过程从使用mongodump 2.6.1 升级到 3.0.1,由于并行化集合下载,它具有更高的性能。

我遇到了一个问题,mongodump 在中途失败并出现错误

在 8 次尝试中,有 6 次失败,其中 2 次成功。我一直无法在网上找到有关此特定错误的任何其他信息。

  • 整个 mongodump 大小约为 1TB,有数千个集合。失败发生在中间的某个地方。mongodump确实启动了,因为许多.bson文件开始在磁盘中累积,我可以在 mongodump 的输出中看到进度文件
    • 对 150GB 的 mongo 2.4 实例运行相同的代码时,它似乎运行良好,它可能运行的时间不够长,无法遇到错误
  • 我要转储的 mongo 数据库版本是 2.4,我们计划升级 2.4 -> 2.6 -> 3.0。所以我们想提前升级 mongodump 工具,希望它能在 2.4 和 2.6 上正常工作。
  • 当前的备份服务器对 2.4 的 mongo 数据库使用 mongodump 2.6.1,并且它们在备份管道的 mongodump 阶段一直运行良好,100% 的可靠性
  • mongodump 备份服务器(谷歌计算引擎虚拟机)位于与 mongo 服务器(硬金属服务器)不同的机器上,mongo 服务器位于防火墙后面。所以我们在两台机器之间建立一个SSH隧道,然后用--port命令执行一次mongodump。它看起来像这样:

    /li>

谁能给我一些关于可能发生的事情的提示?当我们的 mongo 数据库完全升级到 3.0 时,我们将需要使用 mongodump 3.0。

更新:我得到的另一个错误是

0 投票
2 回答
1796 浏览

java - 无法在 Eclipse 中使用 processbuilder 或 runexec 运行命令

我正在尝试从我的 Java Web 应用程序(Eclipse 中使用 Tomcat 8 的 Maven 项目)执行命令。如果我通过 cmd 行或 .jar 文件执行此命令,则没有问题,但在 Eclipse 中它不起作用。我尝试了ProcessBuilder类,Runtime.getRuntime().exec()但都抛出了相同的“找不到文件异常”异常。

我要运行的命令是:

运行时环境似乎找不到 mongodump 命令(和/或命令中命名的文件夹?)有什么建议吗?这是我的代码:

}

这是“流程构建器”变体:

谢谢,朱利奥

0 投票
1 回答
2002 浏览

mongodb - mongorestore 需要很多时间,我只是复制粘贴“/data/db”目录怎么样?

就我而言,我想备份和恢复所有数据库。这听起来可能很愚蠢,但是——

而不是做

为什么我不能

这行不通吗?

0 投票
1 回答
2868 浏览

bash - 如何保护 mongodump 从远程机器进行备份?

例如,我有一个mongod正在运行1.2.3.4的实例,并且在100.90.80.1.

我需要使用以下 bash 脚本从1.2.3.4to备份 mongodb 数据:100.90.80.1

但我无法连接到1.2.3.4由于这个选项/etc/mongodb.conf

我知道我可以将上述限制更改为,bind_ip = 0.0.0.0但这并不安全。

使用上面的 bash 脚本与远程 mongod 服务器建立安全连接并将文件备份到另一个服务器的最佳方法是什么?

PS:我运行上面的脚本,如下所示:

0 投票
1 回答
4000 浏览

mongodb - 将 mongo 集合导入现有集合而不覆盖它

是否可以将 mongodump 导入到现有集合中添加(而不是覆盖它)?如果是,如何?

会用mongoimport --db mydb吗?

这些集合在结构上相同,但很简单,具有来自同一应用程序不同实例的不同数据集。我想将所有数据合并到一个数据库中。

0 投票
0 回答
977 浏览

mongodb - mongorestore 不工作。集合为空

我正在尝试将 mongodb 集合转储到文件,然后使用它来恢复到另一个 mongodb 实例。

倾倒 -

恢复——

来自 /var/log/mongodb/mongod.log -

现在当我登录到我的新 mongodb 实例并检查集合大小时,我得到一个大 0 -

0 投票
0 回答
890 浏览

mongodb - 在 mongo 工具上运行 db.fsyncLock() 之后运行 db.fsyncUnlock() 会导致进程卡住

我使用登录到我的 mongodb 实例

然后运行以下命令。

解锁命令卡住了很长时间。如果我按 CTRL-C,我会得到以下跟踪Assertion failure isABSONObj() src/mongo/bson/bson-inl.h 1831

当我再次登录并运行以下函数以检查是否已锁定锁定时:

我得到:

并且 db.fsyncUnlock() 再次卡住。不知道发生了什么以及如何解锁数据库。的文档fsync有以下内容:

警告 调用带锁的 fsync 时,确保连接保持打开状态以允许后续调用 db.fsyncUnlock()。

关闭连接可能会使解锁变得困难。

我最初试图使用--eval. 这可能是一个问题吗?现在解锁数据库的方法是什么?

所有这些都是我正在编写的 mongodump 脚本的一部分。

更新:我在创建我的脚本时关注这篇文章:http: //www.codeproject.com/Tips/547759/Automating-backup-for-MongoDB-using-CRON-and-S-CMD

UPDATE2:看起来像 2.2 版后,mongodump不应该使用 wit db.fsyncLock()。我将从我的脚本中删除它并将--oplog标志添加到mongodump. 但是,我仍然需要弄清楚如何解锁我的数据库。

0 投票
0 回答
1811 浏览

mongodb - 如何使用 oplogReplay 恢复单个 mongodb 数据库?

我很难确定这是否是受支持的操作。我发现了一些表明它过去不是这样的东西,但是我没有得到任何表明它不受支持的日志(只是令人困惑的日志),而且我无法在 mongo 的文档中找到任何表明它不被允许的东西。

以供参考:

  • 操作系统:Centos6.6
  • 蒙哥:v3.0.2
  • 蒙戈外壳:v3.0.2
  • Mongodump:v3.0.2
  • Mongorestore:v3.0.2

这是我正在运行以创建转储的命令(我正在使用身份验证):

这是转储后的原始文件结构。

我尝试了几种不同的还原变体来获得我想要的东西,但它们似乎都有点偏差。在阅读了关于 mongorestore 的 mongo 文档中的以下内容后:

--db 不控制 mongorestore 恢复哪些 BSON 文件。您必须使用 mongorestore 路径选项来限制恢复的数据。

在我看来,我应该能够将 oplog.bson 复制到我要恢复的特定数据库的文件夹中,然后从 dump/ 内部运行以下命令:

我发现这令人困惑,因为它提供了以下日志:

关于 dog.oplog 的第一部分看起来好像一切正​​常,但是后面关于 oplog 的消息让我感到困惑。

无论我尝试哪种目录和路径变体,我似乎都无法特别满足这条消息:

这是否意味着我的 oplog 重播没有发生?我的时间点备份/恢复是否仍然符合我的预期?我记得看到一些关于改进 mongotools 日志消息的票,也许这只是糟糕的日志记录?

0 投票
3 回答
6229 浏览

mongodb - 使用 mongorestore 导入备份时出现错误 10334“BSONObj 大小无效”

我有一个包含许多小文档的 MongoDB 集合备份。备份是由 生成的mongodump,但是当我尝试使用导入它时mongorestore出现错误:

AssertionException 处理请求,关闭客户端连接:10334 BSONObj 大小:18039019 (0x11340EB) 无效。大小必须介于 0 和 16793600(16MB) 之间

我正在运行 MongoDB 3.0.3 版(来自主干)。