问题标签 [mongorestore]
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.
mongodb - MongoDB mongorestore 失败:locale::facet::_S_create_c_locale 名称无效
我在计算机 A(ubuntu 12.04 服务器)上用 mongodump 创建了一个转储。我将它移至计算机 B(ubuntu 12.04 服务器)并输入:
mongorestore -db db_name --drop db_dump_path
它失败并报告:
连接到:127.0.0.1
在抛出“std::runtime_error”实例后调用终止
what(): locale::facet::_S_create_c_locale name not valid
Aborted
我之前已经成功完成过这个操作,从来没有出现过这种奇怪的行为。我需要做什么来解决这个问题?
mongodb - Mongorestore,从流星生产服务器到本地
我找到了很多关于如何使用 mongodump 和 mongorestore 来备份我的流星生产服务器并在需要时恢复备份的很好的说明:
我还没有找到解释如何将备份转储恢复到我的本地流星应用程序。我的应用程序文件夹中有一个 mongodump 输出。我不确定我是否可以使用 mongorestore 或者是否还有其他我应该做的事情。
mongodb - mongorestore:运行时找不到命令
同样的情况:我已经开始了 M101 MongoDB 在线课程。restoremongo 调用返回 mongorestore: command not found。这应该连接到服务器(我可以连接到并在我的机器上运行)。我只是跟着这个视频(下面的链接)到视频的 1:45 分钟。https://education.10gen.com/courses/10gen/M101J/2013_May/courseware/Week_1_-_Introduction/Homework_1.1/
这就是我所在的地方;请看下文。我已在此下方复制并粘贴了服务器信息。有什么解决办法吗?我将不胜感激。格里
tar xvf hw1-1.957cdceb1c1e.tar x dump/ x dump/m101/ x dump/m101/funnynumbers.bson x dump/m101/funnynumbers.metadata.json x dump/m101/hw1.bson x dump/m101/hw1.metadata .json Geralds-MacBook-Pro: 下载 geraldnolan$ mongorestore -bash: mongorestore: 找不到命令
我将环境变量设置为 export PATH=$PATH:/Users/bluegenep/Downloads/mongodb-osx-x86_64-2.4.8/bin
我的mongodb所在的路径是“/Users/bluegenep/Downloads/mongodb-osx-x86_64-2.4.8/bin”
但我仍然得到同样的错误!
-bash:mongorestore:找不到命令
任何帮助都感激不尽!谢谢!!
mongodb - mongorestores 在不同的机器上表现不同?
我执行以下操作:
在我的本地机器上,它工作正常。在我在亚马逊上的开发机器上,我从相同的命令、相同的数据库转储和相同版本的 mongodb(2.0.4)获得此输出:
导入的数据不完整。我做错了什么?
mongodb - mongodb mongodump mongorestore
我已经针对大小为 600GB 的数据库在 3 个分片集群上执行了“mongodump”,并且块平均分布在所有 3 个分片上。
我的 mongodump 命令是这样的:
mongodump --db mydb123 --authenticationDatabase admin --journal -u root -p password123 -o mydb123
块几乎均匀地分布在所有 3 个分片中。++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++
然后我将转储文件移动到一个新集群并在新的 2-shard 集群上执行此转储文件的“mongorestore”。这个数据库的大小现在只有 80 GB。我想这是意料之中的(紧凑的行动)。但这是我的问题:在新的 2-shard 集群上,执行命令“sh.status()”没有显示该数据库的任何 CHUNKS。我的 mongorestore 命令是这样的:
mongorestore -u root -p newpass123 --authenticationDatabase admin --verbose /data/db/backups/new_dir/mydumpfile
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SH.STATUS() 的实际输出如下所示:
mongos> sh.status() --- 分片状态 --- 分片版本:{ "_id" : 1, "version" : 3, "minCompatibleVersion" : 3, "currentVersion" : 4, "clusterId" : ObjectId(" 52efaaa0a83668acafc3bcb0") } 分片:{“_id”:“sh1”,“主机”:“sh1/hfdvmprmongodb1:27000,hfdvmprmongodb2:27000”} {“_id”:“sh2”,“主机”:“sh2/hfdvmprmongodb1:27001 ,hfdvmprmongodb2:27001" } 数据库:{“_id”:“admin”,“partitioned”:false,“primary”:“config”} {“_id”:“test”,“partitioned”:false,“primary”: “sh1”}{“_id”:“定价”,“分区”:true,“primary”:“sh2”} {“_id”:“mokshapoc”,“分区”:true,“primary”:“sh1”}
mongos> isBalancerRunning() Tue Feb 4 11:09:39.242 ReferenceError: isBalancerRunning is not defined mongos> sh.isBalancerRunning() true
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ 所以,我已经完全完成了 mongorestore 并且没有显示 80 GB 数据库的 CHUNKS(在执行 mongodump 时曾经是 600 GB 数据库)
我对没有看到任何块的事实感到非常困惑。(预计尺寸会更小,而且要小得多)
两个集群上的版本相同:MongoDB shell 版本:2.4.6
谢谢你,vr
mongodb - 在恢复 mongodb 转储的单个命令中删除整个数据库
我正在尝试恢复 mongodb 的目录转储。
我在做
但是两者都无法恢复我的转储状态。即使在恢复数据库后,任何新记录也是可见的。
但是控制台上没有显示错误。
mongodb - MongoDB,mongorestore:“只能在完全恢复时重放 oplog”
我在恢复转储和在 MongoDB 上重放 oplog 时遇到了一些麻烦。
我必须重播 oplog 到某个时间点,因此发出以下命令:
但 mongorestore 回复“只能在完全恢复时重播 oplog”。
查看源代码,当用户未指定 --db 选项时,似乎会显示此错误消息,但我确实这样做了。
你知道还有什么原因吗?
mongodb - 使用命令行从 MongoDB 数据库中的所有集合中删除所有索引
我已经使用 mongorestore 来恢复数据库,但是当我尝试运行我的应用程序时,我收到一个错误,即索引已经存在。
我知道函数 db.collection.dropIndex() 但有没有办法自动化这个并立即从数据库中的所有集合中删除所有索引?
我试过了
但这并不能解决问题。有任何想法吗?
mongodb - MongoDB 2.2:为什么在转储/恢复后复制没有赶上集合?
我们有一个在 Ubuntu 10.04 上运行 MongoDB 2.2 的三服务器副本集,最近不得不为每个特定数据库所在的服务器升级硬盘驱动器。该数据库包含 Web 服务请求的日志信息,它们使用当前时间戳写入每小时存储桶中的集合以确定名称,例如log_yyyymmddhh。
我执行了这个过程:
- 使用mongodump --db log_db备份主服务器上的数据库
- 使辅助服务器脱机,更换磁盘
- 以独立模式启动辅助服务器(即在启动服务之前注释掉 /etc/mongodb.conf 中的 replSet 条目)
- 使用mongorestore --drop --db log_db恢复辅助服务器上的数据库
- 将辅助服务器添加回副本集并使其联机,让复制赶上在脱机时更新/创建的每小时存储桶
一切似乎都按预期进行,除了在备份时作为当前存储桶的集合没有通过复制更新。我不得不手动复制该集合以使其保持最新。请注意,备份后创建的集合可以很好地同步。
在这个过程中我错过了什么导致 MongoDB 无法让那个集合恢复同步?我认为关于 oplog 有什么问题吗?
编辑1:
主节点上的 oplog 显示其最早的时间戳可以追溯到几天前,因此应该有足够的空间来维持几个小时的事务(这是从节点离线的时间)。
编辑2:
我们的 MongoDB 安装使用两个磁盘分区:/dev/sda1 和 /dev/sdb1。主要的 MongoDB 目录 /var/lib/mongodb/ 位于 /dev/sda1 上,并包含多个数据库,而日志数据库本身位于 /dev/sdb1 上。有一个符号链接/var/lib/mongodb/log_db指向 /dev/sdb1 上的目录。由于日志数据库已满,我们需要升级 /dev/sdb1 的磁盘。
mongodb - 迁移后mongodb数据文件变小
在我的第一台服务器上,我得到:
使用 mongodump/mongorestore迁移此数据库后,在我的第二台服务器上,我得到:
在我等了几个小时后,mongo 完成了索引,我得到了:
我测试了数据库,没有损坏或丢失的数据。
为什么迁移前后大小差异如此之大?