ChatGPT解决这个技术问题 Extra ChatGPT

如何创建数据库的 MongoDB 转储?

我应该使用什么命令来创建数据库的 MongoDB 转储?

只需一个没有任何标志的 mongodump 即可获得 dump 文件夹

S
Sameer Shaikh

要转储数据库进行备份,请在终端上调用此命令

mongodump --db database_name --collection collection_name

要将备份文件导入 mongodb,您可以在终端上使用以下命令

mongorestore --db database_name path_to_bson_file

metadata.json 对于还原有什么意义?
5
5 revs, 2 users 86%

您还可以使用 gzip 备份一个集合并即时压缩备份:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

或在文件名中带有日期:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

更新:在日期文件夹中备份数据库的所有集合。文件被 gzip 压缩:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

或者对于单个存档:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

或者当 mongodb 在 docker 中运行时:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz

说:错误:不知道如何处理文件! Gunizpped 并尝试了 `mongorestore --db db_name 'gunzipped file'
错字:“-db”=>“--db”
mongodump 的 3.2 版或更高版本中,您可以使用 --gzip 选项来执行此操作:mongodump_manpagemongorestore 的相同选项
@Pyrejkee,最好为这些事情提出新问题,而不是发表评论。 (Windows 上的日期非常不同)
e
earldouglas

使用 mongodump

$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

来源:http://www.mongodb.org/display/DOCS/Import+Export+Tools


要将结果放在单个压缩文件中,请参阅 unix.stackexchange.com/questions/93139/…
在 mongodb 服务器上,数据库将存储在哪个位置?
请参考此链接。 stackoverflow.com/questions/44996506/…@spaceearth
j
jatinkumar patel

此命令将以 json 和 bson 格式转储给定数据库。

mongodump -d <database name> -o <target directory>

我们如何在单个命令中恢复所有集合(bson 文件)?
使用此命令恢复所有集合 - mongorestore --db
S
ShahRokh

定时备份/恢复MongoDB。

备份:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

--db 数据库名称参数

--out 输出路径参数

恢复:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

还原前删除数据库的 --drop 参数

定时:

您可以使用 crontab 进行定时备份:

sudo crontab -e

它使用编辑器打开(例如 nano)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

每天凌晨 03:03 备份

根据您的 MongoDB 数据库大小,您可能很快就会因备份过多而耗尽磁盘空间。这就是为什么还建议定期清理旧备份或压缩它们的原因。例如,要删除所有超过 7 天的备份,您可以使用以下 bash 命令:

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

删除所有超过 7 天的备份

祝你好运。

参考:https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04


F
Fayaz

编辑:基于最新版本的 MongoDB v4.4.2 更新命令

出口

mongodump -d <database name> -o <backup-folder>

进口

mongorestore -d <database name> --dir <backup-folder>

J
Jery

您需要在安装 Mongo 的文件夹中以管理员身份打开命令提示符(在我的情况下:C:\Program Files\MongoDB\Server\3.4\bin)。如果你想转储你的整个数据库,你可以使用:

mongodump --db database_name

您还可以仅转储某些集合,或转储除某些集合之外的所有集合。

如果您只想转储一个集合(例如用户):

mongodump  --db database_name --collection users

如果要转储除用户之外的所有集合:

mongodump  --db database_name --excludeCollection=users

也可以将转储输出到存档文件:

mongodump --archive=test.archive --db database_name

a
aditya_gaur

有一个名为:mongodump 的实用程序在 mongo 命令行上,您可以键入:

>./mongodump

以上将创建本地主机上所有数据库的转储。要转储单个集合,请使用:

./mongodump --db blog --collection posts

看看:mongodump


N
Nanhe Kumar

您可以转储数据库并使用以下命令进行恢复

mongodb  -d <Your_db_name> -o <path of your folder>

例如我的数据库名称正在跟踪我在转储文件夹中有转储

mongodb  -d tracking -o dump

恢复转储

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

I
Ignacio Ara

以下命令连接到远程服务器以转储数据库:

<> 可选参数在需要时使用它们

host - 主机名端口

监听端口用户名

db用户名

数据库名称 ssl

安全连接输出

输出到名为 mongodump --host --port --username --db --ssl --password --out _date+"%Y-%m-%d" 的已创建文件夹


对于那些在运行上面建议的查询-错误解析命令行选项后遇到此错误的人:未知选项“ssl”。删除 --ssl 后尝试运行上述查询。它对我有用。谢谢。
是否有机会举例说明具有所有参数的功能命令的外观?
P
Pooja Khatri

如果你的数据库在本地系统。然后键入以下命令。用于 Linux 终端

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

如果数据库用户和密码在那里,那么你下面的代码。

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

这在我的 Linux 终端中运行良好。


M
MaartenDev

cmd -->

C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest

简单快捷的选择
非常感谢 Arnav,非常感谢。
n
nainometer

Mongo 转储并使用 uri 恢复到本地

mongodump --uri "mongodb://USERNAME:PASSWORD@IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL

省略 --collection COLLECTION_NAME 将转储整个数据库。


B
Bhasker The Navigator

下面的命令将用于转储 mongo db 。

mongodump -d -o

在 Windows 上:试试这个,其中 c:\mongodump 是转储文件位置,它将在 json 中创建元数据,并以 bson 格式备份

C:\MongoDB\bin>mongodump -d -oc:\mongodump


y
yogesh chavan

对 Windows 使用“路径”,否则它会给出错误:不允许位置参数


u
user956584

或者你可以在 Windows 上制作备份脚本,记得把 Winrar 添加到 %PATH%

bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"

#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!

a
adiga

对特定数据库进行 mongodb 备份,并使用 bin sh 命令删除 7 天前的备份:-

#!/bin/bash

MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete

N
Nivrutti
 Use -v to see progress of backup data
    mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData

 you can use it for restore also
    mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname

with multile v like -vvvv you will get more information

B
Bird

我创建了一个名为 BackSync 的库,它有助于备份和同步 MongoDB 数据库(还有本地文件/目录和一些其他已知数据库),您还可以使用 pm2 安排它以自动运行该过程。

安装:

npm i -g @ayoubamine/backsync

添加您的 MongoDB 备份源:

backsync add backup

添加您的同步源(本地、Google Drive、...):

backsync add sync

然后,运行该过程:🙌

backsync run

A
Anjankumar H N

mongodump -h 主机名 -u dbusername -p dbpassword --db dbname --port 端口号 --out /path/folder

mongodump -h 主机名 -u dbusername -p dbpassword --db dbname --port 端口号 --out /path/folder.gz


1. mongodump - 是一个创建 mongo 转储的命令,我们需要输入有关规范的信息。 2. -h 代表你的 mongodb 主机名。 3. -u 代表你的mongodb用户名。 4. -p 代表密码。 5. --db 代表我们需要转储的数据库名称。 6. --port 代表你的mongo正在运行的端口。 7. --out 用名称表示您的转储目的地。