sai*_*uri 135

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

mongodump --db database_name --collection collection_name
Run Code Online (Sandbox Code Playgroud)

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

mongorestore --db database_name path_to_bson_file
Run Code Online (Sandbox Code Playgroud)

  • metadata.json 对恢复有什么意义? (2认同)

r03*_*r03 89

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

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz
Run Code Online (Sandbox Code Playgroud)

或者在文件名中有一个日期:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz
Run Code Online (Sandbox Code Playgroud)

更新:
备份日期文件夹中的所有数据库集合.这些文件是gziped:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`
Run Code Online (Sandbox Code Playgroud)

或者对于单个存档:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
Run Code Online (Sandbox Code Playgroud)

或者当mongodb在docker中运行时:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
Run Code Online (Sandbox Code Playgroud)

  • 在`mongodump`或更高的版本3.2中,您可以使用`--gzip`选项来执行此操作:[mongodump_manpage](https://docs.mongodb.com/manual/reference/program/mongodump/#cmdoption--gzip )和[mongorestore]的相同选项(https://docs.mongodb.com/manual/reference/program/mongorestore/#restore-from-compressed-data) (7认同)
  • 错字:" - db"=>" - db" (2认同)

ear*_*las 77

用途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
Run Code Online (Sandbox Code Playgroud)

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

  • 要将结果放在单个压缩文件中,请参阅http://unix.stackexchange.com/questions/93139/can-i-zip-an-entire-folder-using-gzip (4认同)

jat*_*tin 63

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

mongodump -d <database name> -o <target directory>
Run Code Online (Sandbox Code Playgroud)


adi*_*aur 14

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

>./mongodump
Run Code Online (Sandbox Code Playgroud)

以上将创建您的localhost上的所有数据库的转储.要转储单个集合,请使用:

./mongodump --db blog --collection posts
Run Code Online (Sandbox Code Playgroud)

看看:mongodump


Jer*_*ery 11

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

mongodump --db database_name
Run Code Online (Sandbox Code Playgroud)

您还可以转储某些集合,或者转储除特定集合之外的所有集合.

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

mongodump  --db database_name --collection users
Run Code Online (Sandbox Code Playgroud)

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

mongodump  --db database_name --excludeCollection=users
Run Code Online (Sandbox Code Playgroud)

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

mongodump --archive=test.archive --db database_name
Run Code Online (Sandbox Code Playgroud)


Poo*_*tri 9

如果您的数据库位于本地系统中。然后您可以输入以下命令。对于Linux终端

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME
Run Code Online (Sandbox Code Playgroud)

如果数据库有用户名和密码,那么您可以使用下面的代码。

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD
Run Code Online (Sandbox Code Playgroud)

这在我的 Linux 终端上运行得非常好。


Sha*_*okh 8

定时备份/还原Mongodb。

备份:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`
Run Code Online (Sandbox Code Playgroud)

--db 数据库名称的参数

--out 输出路径的参数

恢复:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/
Run Code Online (Sandbox Code Playgroud)

--drop 恢复之前删除数据库的参数

定时:

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

sudo crontab -e
Run Code Online (Sandbox Code Playgroud)

它以编辑器(例如nano)打开

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`
Run Code Online (Sandbox Code Playgroud)

每天上午03:03备份

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

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

删除所有早于7天的备份

祝好运。

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


Mic*_*ski 7

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

<>可选参数如果需要,可以使用它们

  • 主机 - 主机名端口
  • 监听端口用户名
  • db db的用户名
  • db name ssl
  • 安全连接
  • 输出到具有名称的已创建文件夹

    mongodump --host --port --username --db --ssl --password --out_date +"%Y-%m-%d"


Nan*_*mar 7

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

mongodb  -d <Your_db_name> -o <path of your folder>
Run Code Online (Sandbox Code Playgroud)

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

mongodb  -d tracking -o dump
Run Code Online (Sandbox Code Playgroud)

恢复转储

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking
Run Code Online (Sandbox Code Playgroud)


ava*_*dev 7

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

mongodump --uri "mongodb://USERNAME:PASSWORD@IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL
Run Code Online (Sandbox Code Playgroud)

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


Fay*_*yaz 7

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

出口

mongodump -d <database name> -o <backup-folder>
Run Code Online (Sandbox Code Playgroud)

进口

mongorestore -d <database name> --dir <backup-folder>
Run Code Online (Sandbox Code Playgroud)


arn*_*nav 6

cmd-->

C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest
Run Code Online (Sandbox Code Playgroud)