首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mongorestore不工作(无效的BSON大小错误)

Mongorestore是MongoDB数据库中的一个命令行工具,用于从备份文件中恢复数据到数据库中。当执行mongorestore命令时,有时会遇到"无效的BSON大小错误"的问题。下面是对该问题的完善且全面的答案:

问题描述: 在使用mongorestore命令将备份文件恢复到MongoDB数据库时,遇到了"无效的BSON大小错误"。

问题原因: 该错误通常是由于备份文件中的某个文档大小超过MongoDB的限制而引起的。MongoDB对单个文档的大小有限制,默认为16MB。

解决方案: 解决"无效的BSON大小错误"的方法有以下几种:

  1. 分割备份文件: 如果备份文件中存在单个文档大小超过MongoDB限制的情况,可以尝试将备份文件分割成较小的文件,并逐个进行恢复。可以使用一些文件分割工具来实现,如Linux下的split命令或其他第三方工具。
  2. 压缩备份文件: 通过压缩备份文件,可以减小文档的大小,从而避免"无效的BSON大小错误"。使用压缩算法如gzip或其他压缩工具对备份文件进行压缩,然后再进行恢复操作。
  3. 调整MongoDB的配置: 如果备份文件中的文档大小超过MongoDB的默认限制,可以通过修改MongoDB的配置文件来增加文档大小的限制。在MongoDB的配置文件中,找到maxBsonObjectSize参数并将其值增大,然后重启MongoDB服务器。
  4. 过滤备份文件中的大文档: 可以通过脚本等方式,提前处理备份文件,将其中的大文档过滤掉。这可以避免将过大的文档恢复到MongoDB中而引发"无效的BSON大小错误"。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了多种云计算产品和服务,包括数据库、服务器、存储等,可以满足各种场景的需求。以下是一些与MongoDB相关的腾讯云产品和介绍链接:

  1. 云数据库 MongoDB:
    • 链接地址:https://cloud.tencent.com/product/cdb_mongodb
    • 优势:提供高性能、高可用的MongoDB数据库服务,支持自动备份和数据恢复功能。
  • 云存储 CFS:
    • 链接地址:https://cloud.tencent.com/product/cfs
    • 优势:提供高可扩展性的共享文件存储服务,可用于存储备份文件和其他数据。

请注意,本答案未提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商,仅提供了腾讯云的相关产品和介绍链接作为参考。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MongoDB 备份与还原 mongodump、mongorestore

mongodump 备份过程中会对 mongod 服务性能产生影响,我们建议在业务低峰期进行操作。如果我们备份数据,大于系统内存,我们备份时候容易出现错误。...2 、cp 或者rsync ​ 我们可以直接复制数据文件,但是我们必须在复制文件前停止对 MongoDB 操作,否则我们复制文件是无效。...特点 mongorestore 可以创建新数据库或将数据添加到现有的数据库,但是 mongorestore 仅仅执行insert 操作,执行 update操作。...mongorestore 恢复 system.profile 数据 2、mongorestore 常用参数 --help # 查看帮助 --quiet # 通过抑制 MongoDB复制,连接等活动...--authenticationMechanism # 指定认证算法 ,默认值 SCRAM-SHA-1 --objcheck # 开启验证,验证还原操作,确保没有无效文档插入数据库。

1.4K20
  • MongoDB 备份与还原 mongodump、mongorestore

    mongodump 备份过程中会对 mongod 服务性能产生影响,我们建议在业务低峰期进行操作。如果我们备份数据,大于系统内存,我们备份时候容易出现错误。...2 、cp 或者rsync ​ 我们可以直接复制数据文件,但是我们必须在复制文件前停止对 MongoDB 操作,否则我们复制文件是无效。...特点 mongorestore 可以创建新数据库或将数据添加到现有的数据库,但是 mongorestore 仅仅执行insert 操作,执行 update操作。...mongorestore 恢复 system.profile 数据 2、mongorestore 常用参数 --help # 查看帮助 --quiet # 通过抑制 MongoDB复制,连接等活动...--authenticationMechanism # 指定认证算法 ,默认值 SCRAM-SHA-1 --objcheck # 开启验证,验证还原操作,确保没有无效文档插入数据库。

    2.6K20

    数据备份及恢复(mongodumpmongorestore)

    数据备份及恢复(mongodump/mongorestore) 2019年01月17日 16:22:29 DreamLRH 阅读数 266 说明 1.mongodump创建高保真的BSON文件,mongorestore...对于小型数据库备份和恢复,这两个工具非常简单和高效,但对于大型数据库备份并不理想。 2.mongodump/mongorestore可以直接对正在运行mongodb执行操作。...不过我测试时,待备份数据17G,机器内存8G,并没有出现错误。 6.如果输出文件夹中有文件,mongodump会覆盖。...--db/--collection 指定备份数据和集合。 --out mongodump使用此选项,指定备份数据写到哪个路径。如果指定,默认写在当前工作目录dump/路径下。...备份数据包含288万多条document,数据库大小16G多,耗时14分钟左右。 2.执行恢复命令。

    2K30

    MongoDB数据库备份(mongodump)以及恢复(mongorestore)工具实践

    摘要 mongodump备份工具 mongodump能够在Mongodb运行时进行备份,它工作原理是对运行Mongodb做查询,然后将所有查到文档写入磁盘。...是一个定容集合(capped collection),它默认大小是磁盘空间5%(可以通过--oplogSizeMB参数修改) 其中记录是整个mongod实例一段时间内数据库所有变更(插入/更新/...0800 writing captured oplog to 2021-01-15T11:46:15.991+0800 dumped 1601 oplog entries 4.3 备份完成后模拟一个错误操作...时间戳进行转换,再次确认是不是误操作时间点 4.8 复制增量oplog到备份目录,重命名为oplog.bson,将原来oplog.bson覆盖 cp /tmp/oplog/local/oplog.rs.bson.../tmp/backup/oplog.bson 4.9 将增量oplog进行恢复,添加之前找到误删除点(limt) mongorestore -u -p --port 28018 --authenticationDatabase

    7.2K10

    02 . MongoDB复制集,分片集,备份与恢复

    RAM工作大小会增加磁盘驱动器I/O容量; 解决系统增长方法有两种:垂直缩放和水平缩放; 垂直扩展 ​ 涉及增加单个服务器容量,例如使用功能更强大CPU,添加更多RAM或增加存储空间量,...JSON格式或者CSV格式 mongodump/mongorestore   导入/导出BSON格式 JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性 版本兼容性问题...在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间兼容性。...跨版本mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是兼容) 注意 JSON虽然具有较好跨版本通用性,但其只保留了数据部分,不保留索引...同平台, 跨大版本:mongodb 2   mongodb 3 mongodump/mongorestore 导入导出BSON格式,日常备份恢复时使用, 不同版本BSON是不一样

    2.6K20

    如何在Ubuntu 14.04上创建和使用MongoDB备份

    幸运是,MongoDB提供了简单命令行工具来创建和使用备份。本教程将介绍如何使用这些工具。 要了解备份如何在篡改现有数据库情况下工作,本教程将首先引导您创建一个新数据库并向其中添加少量数据。...但是,如果您拥有大型数据库,备份将会很大,并且为了避免存储空间不足风险,从而减慢或崩溃服务器,您应该在创建备份之前检查数据库大小。...您可以使用stats方法并检查dataSize密钥值以了解数据库大小(以字节为单位)。...db.stats().dataSize; 对于当前数据库,dataSize值将是一个小数字: output 592 请注意,dataSize值只是对备份大小粗略估计。...使用mongorestore非常简单。它所需要只是包含备份目录路径。

    1K00

    02 . MongoDB复制集,分片集,备份与恢复

    工作大小会增加磁盘驱动器I/O容量; 解决系统增长方法有两种:垂直缩放和水平缩放; 垂直扩展 涉及增加单个服务器容量,例如使用功能更强大CPU,添加更多RAM或增加存储空间量, 可用技术局限性可能会限制一台计算机对于给定工作负载没有足够功能...JSON格式或者CSV格式 mongodump/mongorestore   导入/导出BSON格式** JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性 版本兼容性问题...在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间兼容性。...跨版本mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是兼容) 注意 JSON虽然具有较好跨版本通用性,但其只保留了数据部分,不保留索引...同平台, 跨大版本:mongodb 2   mongodb 3** **mongodump/mongorestore 导入导出BSON格式,日常备份恢复时使用, 不同版本BSON

    1.8K30

    MongoDB学习(六)数据库备份、还原、导入及导出

    ,这一对组合操作数据是BSON格式,进行大量dump和restore时效率较高。        ...1、mongodump(备份)及mongorestore(还原) 1.1 mongodump →说明:         mongodump是一个用于导出二进制数据库内容实用工具,它导出bson文档中只会包含着集合文档等信息...,如不指定,则mongodump默认将文件输出到dump所在工作目录中。...如果指定,mongorestore会从文件名中读取识别集合名称(如果有扩展名则会省略扩展名) --drop 还原集合之前会先从目标数据库中删除集合,不会删除不在备份中集合。...→举个栗子: 通过user.bson文件还原mytest数据库中user集合,并在还原之前进行删除 mongorestore --drop -d mytest -c user F:\bk\mytest

    5.2K20

    mongodb11天之屠龙宝刀(十) 备份 还原 导出 导入::CSV,JSON,BOSN,解决中文乱码

    mongorestore, 一种是针对库中表mongoexport和mongoimport。...还原数据库 1,常用命令格式 mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径 –drop意思是,先删除所有的记录,然后恢复...2,恢复所有数据库到mongodb中 [root@localhost mongodb]# mongorestore /home/zhangy/mongodb/ #这里路径是所有库备份路径 3,还原指定数据库...mongodb]# mongorestore -d tank_new /home/zhangy/mongodb/tank/ 这二个命令,可以实现数据库备份与还原,文件格式是json和bson。...tank/users.csv connected to: 127.0.0.1 Tue Dec 3 08:37:21.961 imported 4 objects 实战案例: 将数据导入数据库 以下错误

    1K20

    mongodb11天之屠龙宝刀(十) 备份 还原 导出 导入::CSV,JSON,BOSN,解决中文乱码

    mongodb11天之屠龙宝刀(十) 备份 还原 导出 导入::CSV,JSON,BOSN,解决中文乱码 mongodb数据备份和还原主要二种形式 一种是针对于库mongodump和mongorestore...还原数据库 1,常用命令格式 mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径 –drop意思是,先删除所有的记录,然后恢复...2,恢复所有数据库到mongodb中 [root@localhost mongodb]# mongorestore /home/zhangy/mongodb/ #这里路径是所有库备份路径 3,还原指定数据库...mongodb]# mongorestore -d tank_new /home/zhangy/mongodb/tank/ 这二个命令,可以实现数据库备份与还原,文件格式是json和bson。...tank/users.csv connected to: 127.0.0.1 Tue Dec 3 08:37:21.961 imported 4 objects 实战案例: 将数据导入数据库 以下错误

    99130

    mongo备份与恢复工具对比与说明 原

    备份: mongodump 命令用法:mongodump [options]  特别参数:  -o arg 输出”目录“,指定时,默认在执行命令路径下创建dump目录导出  -q arg...可用于“热备份”  3.导出数据是bson格式  性能:数据库中1g数据导出后变成285M,大概8秒 mongoexport 命令用法:mongoexport [options]  特别参数:...  -q arg 查询过滤器,json string  -f args 输出域,例如-f name,age,address  –csv 输出csv,写此参数,默认为json  -o arg...输出文件,默认为stdout  说明:  1.可以导出json或csv格式文件  2.可以指定查询过滤器或指定输出域  3.此工具导出json,csv可能对某些数据类型兼容,因此可能不能全部数据导出...性能:1g数据,约1分40秒,导出大小为380M 恢复: mongoimport 命令用法:mongoimport [options]  特别参数:  –file args 导入文件,若无此参数,

    1.8K20

    MongoDB 备份恢复

    mongodump 从 MongoDB 数据库中读取数据并创建 BSON 文件,mongorestore 工具可以使用这些文件来还原 MongoDB 数据库。...如果数据大于系统内存,则查询会将工作集从内存中推出,从而导致页面错误。应用程序可以继续修改数据,而 mongodump 会捕获输出。...这允许相应 mongorestore 操作重播捕获 oplog。要恢复使用 --oplog 创建备份,请将 mongorestore 与 --oplogReplay 选项结合使用。...--authenticationMechanism # 指定认证算法 ,默认值 SCRAM-SHA-1--objcheck # 开启验证,验证还原操作,确保没有无效文档插入数据库。...注意:默认情况下 mongodump 获取 local 数据库里面的内容mongodump 仅备份数据库中文档,不备份索引,所以我们还原后,需要重新生成索引。

    1.7K31

    如何在Ubuntu 14.04上备份,还原和迁移MongoDB数据库

    如果您有使用MySQL等流行关系数据库系统经验,那么在使用MongoDB时可能会发现一些相似之处。 您应该知道第一件事是MongoDB使用json和bson(二进制json)格式来存储其信息。...这意味着如果使用json,将会出现所谓“保真度丢失”。对于备份和恢复,最好使用二进制bson。 其次,您不必担心显式创建MongoDB数据库。...要恢复,请使用mongorestore命令。让我们看看它们是如何工作。 备份MongoDB数据库 我们首先介绍备份MongoDB数据库。...根据您MongoDB数据库大小,您可能很快就会耗尽备份太多磁盘空间。这就是为什么还建议定期清理旧备份或压缩它们。...为了恢复MongoDB,我们将使用mongorestore与生成二进制备份一起使用命令mongodump。 让我们继续使用newdb数据库为例,看看我们如何从以前备份中恢复它。

    1.3K40

    MongoDB是什么?看完你就知道了!

    5.完善命令行工具 mongodump和mongorestore,备份和恢复数据库标准工具。输出BSON格式,迁移数据库。...) 会提示错误,而save() 则更改原来内容为新内容。...,但是mongodb写入时间一次只用到一个核,如果有频繁写入行为,可以通过分片来解决这个问题 (3)内存 大内存是mongodb保障,如果工作大小超过内存,将会导致性能下降,因为这将会增加数据加载入内存动作...mongorestore能读取并还原这些文件 (2)mongorestore 把导出BSON文件还原到数据库 (3)备份原始数据文件 可以这么做,但是,操作之前需要进行锁库处理 db.runCommand...保证没有冗余索引,冗余索引会占用磁盘空间、消耗更多内存,在每次写入时还需做更多工作 (3)添加内存 db.stats() //查看数据库数据占用大小状态 dataSize 数据大小 和 indexSize

    1.2K20

    MongoDB是什么?看完你就知道了!

    5.完善命令行工具 mongodump和mongorestore,备份和恢复数据库标准工具。输出BSON格式,迁移数据库。...() 会提示错误,而save() 则更改原来内容为新内容。...CPU,但是mongodb写入时间一次只用到一个核,如果有频繁写入行为,可以通过分片来解决这个问题 (3)内存 大内存是mongodb保障,如果工作大小超过内存,将会导致性能下降,因为这将会增加数据加载入内存动作...mongorestore能读取并还原这些文件 (2)mongorestore 把导出BSON文件还原到数据库 (3)备份原始数据文件 可以这么做,但是,操作之前需要进行锁库处理 db.runCommand...保证没有冗余索引,冗余索引会占用磁盘空间、消耗更多内存,在每次写入时还需做更多工作 (3)添加内存 db.stats() //查看数据库数据占用大小状态 dataSize 数据大小 和 indexSize

    83130
    领券