如何使用 mongodump 转储整个数据库或单个数据库?

How can I dump whole database or individial database using mongodump?

我正在尝试使用来自副本集的 mongodump 备份 mongoDB 数据库。我正在使用的脚本可以很好地将数据库从远程转储到本地。当我尝试从副本集转储时,相同的脚本错误提示身份验证失败。

有没有一种简单的方法可以进行整个数据库转储,否则将首选特定的数据库转储。

#!/bin/bash

HOST="mongorep1:27017,mongorep2:27017,mongorep3:27017"
REMOTE_DB="Products"
LOCAL_DB="Products"
USER="AppUser"
PASS="password"

## DUMP THE REMOTE
echo "Dumping '$HOST:$PORT/$REMOTE_DB'..."
mongodump --host $HOST --db $REMOTE_DB -u $USER -p $PASS --out dump/`date +"%m-%d-%y"`

echo "Done."

谢谢

当将复制集与 mongodump 一起使用时,您需要在传递给 --host 的字符串前加上复制集名称作为前缀。例如,如果你的副本集名称是 myreplicaset_name 那么它应该看起来像 -

HOST="myreplicaset_name/mongorep1:27017,mongorep2:27017,mongorep3:27017"