MongoDB mongorestore失败:locale::facet::_S_create_c_locale名称无效
我在计算机A上使用MongoDump创建了一个转储(Ubuntu 12.04服务器).我将其移至计算机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名称无效 中止 我之前已经成功完成了此操作,这种奇怪的行为从未发生过.我需要做什么来解决此问题? 解决方案 实际上它与MongoDB并不严格.以某种方式无法正确定义计算机B上的语言.我设法通过键入: 来解决它. sudo locale-gen en_us en_us.utf-8 sudo locale-gen it_it it_it.utf-8 sudo locale-gen xx_xx xx_xx.ut
12 2023-11-02
编程技术问答社区
MongoDB : applyOps: 未授权管理员执行命令
非常美好的一天, 我在MongoDB中具有以下具有超级用户特权的人(我使用show users命令确认了角色设置) { "_id" : "admin.mongoadmin", "user" : "mongoadmin", "db" : "admin", "roles" : [ { "role" : "readWrite", "db" : "admin" }, { "role" : "root", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } 当我尝试使用Mongorestore恢复OPLOG时,我会发现错误: 失败:恢复错误:
16 2023-06-22
编程技术问答社区
mongodump vs mongoexport:哪个更好?
我想导出非常大的收集,并将其导入到另一台服务器中的另一个数据库中.我发现至少有两种方法: mongoexport 和 mongodump . 我搜索了有关此问题的先前帖子,但是我没有找到有关 speed of Exporting的完整比较/基准,并且使用这两种方式使用了导出文件的 size ! 如果有任何经验可以分享,我会非常感谢. 解决方案 如最新的文档 避免使用Mongoimport和MongoExport进行完整实例生产备份.它们不能可靠地保留所有丰富的BSON数据类型,因为JSON只能代表BSON支持的类型的子集.如Mongodump和Mongodump和Mongorestore中所述,如MongoDB备份方法中的这种功能. 由于您需要还原大数据,更喜欢转储. mongoexport是一种命令行工具,可生成存储在mongodb实例中的数据的JSON或CSV导出. mongodump是创建数据库内容的二进制导出的实用程序. Mongodump可
110 2023-06-22
编程技术问答社区
在Mongodump之后,调用MongoRestore会挂掉
我们正在尝试在相对较小的dB上做一个简单的杂种. 我们的步骤很简单: 导出 从目标机器降低db db 在目标机上导入 mongodump完美执行. mongodump --out=/root/mongo-prod DB滴剂也是如此: mongo db_name --eval "db.dropDatabase()" 另一方面,致电Mongorestore mongorestore --stopOnError --drop --db db_name /root/mongo-prod-{{ build }}/db_name/ 导入过程开始,并挂在3个特定集合上,并重复以下错误: no collection options to restore restoring db_name.Collection4 from file /root/mongo-prod-31/db_name/Collection4.bson
40 2023-06-22
编程技术问答社区
mongodb转储失败,无法解密DNS消息
我正在使用Mongo DB服务器版本Mongodb Shell版本v4.0.16安装在EC2实例上. 我能够使用mongo命令 进入实例 mongo mongodb+srv://dxxxxxxx:xxxxxx[][]@cluster0-vxcen.gcp.mongodb.net MongoDB shell version v4.0.16 connecting to: mongodb://cluster0-shard-00-02-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017/?authSource=admin&gssapiServiceName=mongodb&replicaSet=Cluster0-shard-0&ssl=true 2020-03-05T09:02:4
62 2023-06-22
编程技术问答社区
MongoDB转储和恢复
我使用Docker安装了Mongo,现在我需要进行 mongodb dump和Restore . . 1)在哪里可以下载这两个工具? 2)我不需要安装完整的mongo,因为Mongo已经使用Docker安装了,我只需要下载这两个Mongo工具,然后使用Docker Mongo的IP和端口进行转储和还原即可. 谢谢, 哈里 解决方案 mongoDB在核心数据库旁边安装此工具,以便您可以在容器内执行命令或在系统中安装mongod并使用此工具,并可以使用以下命令获取mongoDB数据: docker exec sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz 另外,您可以在没有Mongo Core的情况下获得这些实用程序.这是Alpine-linux的示例包: mongodb-tool quart >.对于其他发行版,您可以自己
18 2023-04-18
编程技术问答社区
获取一个查询中所有文件的大小
是否有一种方法可以获取所有符合MongoDB Shell中某个查询的文档的大小? 我正在创建一个将使用mongodump的工具(请参阅我知道描述的Object.bsonsize方法>,但似乎它仅返回一个文档的大小. 解决方案 这是我发现的答案: var cursor = db.collection.find(...); //Add your query here. var size = 0; cursor.forEach( function(doc){ size += Object.bsonsize(doc) } ); print(size); 应非常准确地输出文档字节中的大小. 我已经两次运行了命令.第一次有141个215个文件,一旦被抛弃,总共约有108 MB.命令的输出与磁盘上的大小之间的差异为787字节. 我第二次运行命令时,有35 914 179个文档,一旦被丢弃,总共约有57.8 GB.这次,我的命令和磁盘上
14 2023-03-31
编程技术问答社区
哪个是我在mongodb的数据库?
参考下一个问题 mongoDB在Ubuntu中存储数据库在哪里? $ cd /var/lib/mongodb/ $ ls ihtx.0 ihtx.1 ihtx.ns journal local.0 local.ns mongod.lock 在这里,我可以看到ihtx.0 ihtx.1 ihtx.ns具有相同名称的三个文件.这里我通常在Mongo Shell中看到哪个MyDatabase? 我应该倾倒哪一个? 尝试每个,都会遇到以下错误: $ mongodump --dbpath /var/lib/mongodb/ihtx.XX --out /home/user/Desktop/ If you are running a mongod on the same path you should connect to that instead of direct data file access Thu Mar 13 11:17:21.123 dbexit:
30 2023-03-31
编程技术问答社区
如何限制mongodump的CPU和RAM资源?
我运行了一个mongod服务器.每天,我都在执行词多普,以便有了备份.问题是Mongodump将占用大量资源,并且会减慢服务器的速度(顺便说一句,已经运行了其他一些重型任务). 我的目标是某种程度上限制了在shell脚本中称为的mongodump. 谢谢. 解决方案 您应该使用cgroups.在发行版和内核上的固定点和细节不同. IE.带有股票内核的Debian 7.0默认未安装cgroupfs,并且在opensuse 13.1运送了所有这些东西(主要是由于SystemD). > 因此,首先,如果您的发行版尚未完成安装点和安装cgroupfs: mkdir /sys/fs/cgroup/cpu mount -t cgroup -o cpuacct,cpu cgroup /sys/fs/cgroup/cpu mkdir /sys/fs/cgroup/memory mount -t cgroup -o memory cgroup /sys/fs/cgrou
50 2023-03-31
编程技术问答社区
迁移后Mongodb数据文件变小
在我的第一台服务器上我得到: root@prod ~ # du -hs /var/lib/mongodb/ 909G /var/lib/mongodb/ 迁移后此带有Mongodump/Mongorestore的数据库 在我的第二台服务器上,我得到: root@prod ~ # du -hs /var/lib/mongodb/ 30G /var/lib/mongodb/ 等待几个小时后,mongo完成了索引: root@prod ~ # du -hs /var/lib/mongodb/ 54G /var/lib/mongodb/ 我测试了数据库,没有损坏或错过的数据. 为什么在迁移之前和之后的大小差异如此之大? 解决方案 MongoDB由于数据删除以及其他原因而实际降低数据大小时不会恢复磁盘空间.在线文档中有一个不错的解释: 为什么我的数据目录中的文件大于数据库中的数据? 数据目录中的数据文件,即/数据/DB目录 在默认配置中
92 2023-03-31
编程技术问答社区
Mongodb'的 "mongodump "命令,JavaScript执行错误
也许我完全误会了mongodump应该如何工作,但是除了返回JavaScript execution failed: SyntaxError: Unexpected identifier错误之外,我似乎无法做任何事情. 这是我在做的: Mongod正在运行 我想备份一个名为" MyDB"的数据库 我在Mongo Shell 我尝试了命令mongodump --db mydb并获取上述错误 我已经尝试了mongodump和mongoexport,都有相同的问题 我在这里做错了什么? 解决方案 尝试以下内容,它将工作 P> iopen端子 ii.输入MongoDump -Collection CollectionName -DB dbName(不要进入Mongo Shell); iii.如果默认端口不同(除了27017以外),然后进行以下命令 mongodump --host mongodb1.example.net --port
114 2023-03-31
编程技术问答社区
将旧版本的mongo的数据库转储恢复到新版本的mongo上
当前,我有一个较旧的Mongo版本,即在系统上运行2.6.我已经在生产中拥有我的网站,并且有很多客户数据.我计划升级到Mongo 3.2. 那么,我的问题是Mongo的Mongorestore是否 v3.2 与 v2.6 的数据转储一起工作?或者,知道会引起问题吗? 任何答案都是无价的!谢谢 解决方案 我问了这个我不想遵循正常的升级过程,即安装每个版本只是为了启动mongod,然后将其关闭.对我来说,这感觉就像它会留下来,我喜欢将我的基础设施构建脚本和版本控制.因此,我决定使用最新的Ubuntu启动新的EC2实例(因为我的Mongo v2.4服务器也是2个LTS版本)和最新的MongoDB.我使用了MongoDB中间版本的Docker图像进行数据升级. https://gist.github.com/RichardBronosky/2d04c7c2e9a5bea67cd9760a35415a3f#file- uat_mongodb_upgrade_from_pr
36 2023-03-31
编程技术问答社区
如何使用mongodump进行1次采集
如何使用mongodump将单个集合从一个数据库移动到另一个数据库? 我应该如何使用命令及其选项? 解决方案 我认为只是: mongodump --db= --collection= --out=data/ mongorestore --db= --collection= data//.bson 另请参见Docs btw,另一种将集合从一个数据库移动到另一个数据库的方法是使用renameCollection: db.runCommand({renameCollection:".",to:"."}) 这里有一些相关的线程: 如何将集合从一个数据库复制到Mongo
28 2023-03-30
编程技术问答社区
如何在MongoDB 2.4.9上从OpenShift和mongorestore本地mongodump?
我自己做了这个(作为Rockmongo的出口和进口损坏),所以在这里发布. 请注意,这是针对MongoDB Verison 2.4.9,其相应版本为mongodump和mongorestore. 解决方案 首先阅读与您的版本相关的文档,备份,确保下面的解决方案与您的方案等相关. 参考/program/mongodump/ 获取OC命令线接口 下面的步骤使用OpenShift命令行接口(运行oc命令). 可以通过: 找到相关操作系统的下载链接 OpenShift Online Console> [Click on help icon]>> Command Line Tools 该位置还包含登录所需的命令. 看起来像这样: oc login https://api.pro-ap-southeast-2.openshift.com --token=****** 然后,您可以运行以下内容以显示项目中的所有POD: oc get p
14 2023-03-30
编程技术问答社区
MongoDb:如何从.gz文件导入转储数据?
我想从我的.gz文件中导入转储数据. 文件的位置为home/Alex/Documents/Abc/dump.gz,DB的名称为"Alex". 我尝试了mongorestore --gzip --db "Alex" /home/Alex/Documents/Abc/dump.gz 但显示出错误: 2018-10-31T12:54:58.359+0530 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead 2018-10-31T12:54:58.359+0530 Failed: file /home/Alex/Documents/Abc/dump.gz does n
320 2023-03-30
编程技术问答社区
Mongodb monogorestore "根目录必须是单一数据库的转储"
我正在尝试将一个杂种恢复到一个名称的数据库中(应该通过--db switch可能). 我的工作目录包含一个单个转储文件夹,其中包含一个DB转储. 但是,当我尝试此命令时: mongorestore --port xxxxx --db some_destination_db 我有以下错误: ERROR: ERROR: root directory must be a dump of a single database ERROR: when specifying a db name with --db 我不知道为什么要得到这个,并且在Google上找不到任何帮助.有人有任何想法吗? 解决方案 您需要包括源db dump目录的路径以从(在mongodb 2.6)中恢复. 例如,如果从" Twitter"恢复到" some_destination_db"您的命令行将与: 相似 mongorestore -
10 2023-03-30
编程技术问答社区
mongodb如何只将索引转储到另一个mongodb实例上?
我有一个带有大量数据的MongoDB实例,现在我需要启动一个新实例,而没有数据的结构相同. 如何完成它? 解决方案 您可以使用"查询"选项来执行此操作,并使用不返回任何文档的查询.类似: mongodump -q '{ "foo" : "bar" }' 这将丢弃所有DB和索引,然后您可以进行蒙古犬以将其重新创建到另一个Mongod实例 请参阅文档: /mongodump/#cmdoption- Query 其他解决方案 您可以登录mongo shell并执行以下代码语句以生成创建索引语句.之后,使用语句重新创建索引. var collectionList = db.getCollectionNames(); for(var index in collectionList){ var collection = collectionList[index]; var cur = db.getCollection(collec
52 2023-03-30
编程技术问答社区
Mongorestore,从meteor生产服务器到本地
我找到了很多有关如何使用Mongodump和Mongorestore的好说明,以备份我的流星生产服务器并在需要时还原备份 meteor mongo --url myApp.meteor.com mongodump -u client -h production-db-b2.meteor.io:27017 -d myApp_meteor_com -out dump/2014_10_21 -p [password from meteor mongo --url] mongorestore -u client -h production-db-b2.meteor.io:27017 -d myApp_meteor_com dump/2014_10_21_v2/myApp_meteor_com -p [password from meteor mongo --url] 我尚未发现的解释是如何将备份dump 恢复到我的本地流星应用程序.我的应用程序文件夹中有一个蒙古多的输出.我不确定我是否
10 2023-03-30
编程技术问答社区
MongoDB从3.2转储,用3.4恢复,错误索引safe = null
我会收到以下错误(dump mongodb 3.2)(Restore mongodb 3.4): Failed: ngivr-dev.ledgerhelpers: error creating indexes for ngivr-dev.ledgerhelpers: **createIndex error:** **The field 'safe' is not valid for an index specification.** Specification: **{ unique: true, name: "ledgerId_1", safe: null, ns: "ngivr-dev.ledgerhelpers", background: true, key: { ledgerId: 1 } }** 看起来安全索引为无效.但是如何将其与MongoDB 3.4一起使用? 3.2还可以. 解决方案 safe=true不是索引规范. 在先前版本的mongoDB(低
40 2023-03-30
编程技术问答社区
不能用-db创建备份mongodump。认证失败
当我创建MongoDB中所有数据库的备份时(版本3): mongodump --username bacUser --password 12345 没关系.但是,当我尝试创建所选db的备份时: mongodump --username bacUser --password 12345 --db test 它给了我这个错误: 失败:连接到DB服务器的错误:SASL身份验证步骤上的服务器返回错误:身份验证失败. 解决方案 使用此操作: --authenticationDatabase admin mongodump和mongorestore命令需要数据库的名称,其中存储了MongoDB用户的凭据. (谢谢@zubair Alam) 其他解决方案 这应该有效. mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD 如果用户名或密码错误,
52 2023-03-30
编程技术问答社区