标签: mongodump

如何使用mongodb备份和恢复所有数据库?

如果我想为mongodb中的所有数据库进行通用备份,那么我所要做的就是:

$ mongodump
Run Code Online (Sandbox Code Playgroud)

如果我想恢复我创建的最新转储,我需要做的就是:

$ mongorestore
Run Code Online (Sandbox Code Playgroud)
  • 来自mongodump的备份存储在哪里?
  • 如何为要还原的所有数据库指定特定转储?

database backup mongodb mongorestore mongodump

3
推荐指数
1
解决办法
6925
查看次数

Mongodb monogorestore"根目录必须是单个数据库的转储"

我正在尝试将mongodump恢复到不同名称的数据库(应该可以通过--db <dbname>交换机).

我的工作目录包含一个转储文件夹,其中包含一个数据库转储.

但是,当我尝试这个命令时:

mongorestore --port xxxxx --db some_destination_db
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

 ERROR: ERROR: root directory must be a dump of a single database
 ERROR:        when specifying a db name with --db
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我得到这个,并且在谷歌上找不到任何帮助.有人有主意吗?

mongodb mongorestore mongodump

3
推荐指数
1
解决办法
4243
查看次数

MongoDB-获取查询中所有文档的大小

有没有办法在MongoDB Shell中获取满足特定查询的所有文档的大小?

我正在创建一个工具,该工具将使用mongodump(请参阅此处)带有query将特定数据转储到外部媒体设备上的选项。但是,我想在开始转储之前查看所有文档是否都适合外部媒体设备。这就是为什么我想获取满足查询条件的所有文档的大小。

我知道这里Object.bsonsize描述的方法,但是似乎它只返回一个文档的大小。

mongodb mongodump mongo-shell mongodb-query

3
推荐指数
1
解决办法
4607
查看次数

多个数据库和集合mongodump

我有这样的事情:

dbs=$(mongo --quiet --eval "db.getMongo().getDBNames()" --host exemple.com | \ 
            grep '"' | tr -d '"' | tr -d ',')

for db in $dbs; do
    cols=$(mongo --quiet --eval "print(db.getCollectionNames())" $db \
                  --host exemple.com | tr ',' ' ')
    for col in $cols; do
        mongodump --host example.com -q "{_id:{\$gt:$oid}}" \
                   -d $dbs -c $col --out /data/
   done
done
Run Code Online (Sandbox Code Playgroud)

我越来越:

不允许位置参数

如何mongodump在所有数据库中使用所有集合?

bash mongodb mongodump

3
推荐指数
1
解决办法
5766
查看次数

MongoDB shell导出整个数据库

在MongoDB中,我试图建立一个Mongo持有的所有数据库的自动备份,我目前的脚本基础是

mongodump -u username -p password -o backup/(date)
Run Code Online (Sandbox Code Playgroud)

我有(日期)我希望将它转储到备份日期的文件夹中,例如2013-02-06

我希望通过chron作业或.sh脚本来实现这一点.

ssh mongodb node.js mongodump

2
推荐指数
1
解决办法
1037
查看次数

写作时Mongodump

mongodump针对每秒写入多次的正在运行的服务器运行是否安全?是否有可能以这种方式损坏转储?

这里

用于--oplog在 mongodump 操作期间捕获传入的写入操作,以确保备份反映一致的数据状态。

这是否意味着无论数据库转储中有多少写入都会保持一致?

如果我mongodump --oplog在凌晨1 点运行并在凌晨 2 点完成,那么我运行mongorestore --oplogReplay会得到什么状态?

这里

但是,对于分片集群和副本集,使用mongodumpmongorestore作为备份策略可能会出现问题。

但为什么?我有 1 个主要和 2 个次要的副本集。运行mongodump中的次要问题是什么?它应该与主相同(复制滞后差异除外)。

mongodb mongodump

2
推荐指数
1
解决办法
1354
查看次数

来自标准输入的 Mongorestore

有人曾经设法从标准输入恢复 mongodump 吗?

我使用引用的命令生成了备份文件:

mongodump --archive > file
Run Code Online (Sandbox Code Playgroud)

但该参考资料从未解释存档的格式,或如何恢复它。有人说你必须从 stdin 注入它,但他们仍然是个谜,因为没有证据表明它实际上是可能的

事实上,我做了以下尝试,但没有成功:

cat file | mongorestore
mongorestore -vvvvv --archive < file
mongorestore -vvvvv --archive=file
Run Code Online (Sandbox Code Playgroud)

所有这些命令最终都会出现相同的错误:

Failed: stream or file does not appear to be a mongodump archive
Run Code Online (Sandbox Code Playgroud)

有关信息,我设法恢复了以经典方式生成的存档。

为什么我需要使用 --archive 到标准输出?

我的 mongodb 在 docker 里面。

我现在使用的选项在 docker创建备份文件,然后我使用 docker cp 命令将其复制到主机,因此我使用了所需空间的两倍(在它被删除到容器内之前)。

不幸的是,docker 没有来自主机的挂载,我无法(还)重新启动它以添加选项。我正在寻找一个快速的选择。

mongodb mongorestore mongodump docker

2
推荐指数
1
解决办法
2100
查看次数

来自远程节点的 mongodump - 无法使用机制“SCRAM-SHA-256”进行身份验证

尝试从远程节点进行转储并收到以下错误:

失败:无法创建会话:无法连接到服务器:connection():身份验证错误:sasl 对话错误:无法使用机制“SCRAM-SHA-256”进行身份验证:(身份验证失败)身份验证失败。

错误截图

尝试了两种方法从远程节点获取转储。但是在这两种方法中都出现了相同的错误。

# Method 1
mongodump -h remoteip@port -u xxx -p xxx --db xxx --authenticationDatabase xxx

# Method 2
mongodump --uri "mongodb://username:password@remoteip:port/db?authSource=xxx"
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

mongodb mongodump

2
推荐指数
3
解决办法
4228
查看次数

mongodump.exe 和 mongorestore.exe 文件丢失

昨天,我在 PC 上重新安装了 Windows 10,并从 MongoDB 网站下载并安装了当前版本的 MongoDB Enterprise。安装MongoDB后,它工作正常。但是 C:\Program Files\MongoDB\Server\4.4\bin 目录中缺少 mongodump.exe 和 mongorestore.exe 文件。因此,我无法恢复以前的数据库并继续我的工作。我做错了什么吗?如何取回这些文件,以便恢复以前的数据库?

windows mongodb mongorestore mongodump

2
推荐指数
1
解决办法
1449
查看次数

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

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

它会用mongoimport --db mydb吗?

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

mongodb mongodump mongoimport

1
推荐指数
1
解决办法
3048
查看次数

哪个是mongodb中的数据库?

下一个问题参考前一个mongodb在ubuntu中存储数据库的位置?

$ cd /var/lib/mongodb/
$ ls
ihtx.0  ihtx.1  ihtx.ns  journal  local.0  local.ns  mongod.lock
Run Code Online (Sandbox Code Playgroud)

在这里,我可以看到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: 
Thu Mar 13 11:17:21.123 [tools] shutdown: going to close listening sockets...
Thu Mar 13 11:17:21.123 [tools] shutdown: going to flush diaglog...
Thu Mar 13 11:17:21.123 [tools] shutdown: …
Run Code Online (Sandbox Code Playgroud)

dump mongodb mongodump

0
推荐指数
1
解决办法
2485
查看次数

如何还原gzip压缩的Monogdb单一集合?

大家好,我是mongodb的新手,现在我尝试使用mongorestore还原它时,使用链接mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz上给出的以下命令转储了我的一个收藏集,它使Error不知道如何处理文件。

请用这种方式帮助我,因为给定链接中的答案投票过多

错误图片

database mongodb mongorestore mongodump mongodb-query

0
推荐指数
1
解决办法
7216
查看次数