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

时间:2011-02-02 22:52:43

标签: mongodb database

我使用和运行什么命令?

19 个答案:

答案 0 :(得分:114)

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

mongodump --db database_name --collection collection_name

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

mongorestore --db database_name path_to_bson_file

答案 1 :(得分:74)

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

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

或文件名中的日期:

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

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

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

答案 2 :(得分:71)

使用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

答案 3 :(得分:55)

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

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

答案 4 :(得分:14)

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

>./mongodump

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

./mongodump --db blog --collection posts

查看:mongodump

答案 5 :(得分:10)

您需要在安装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

答案 6 :(得分:7)

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

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

答案 7 :(得分:7)

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

&LT;&GT;如果您需要,可选参数使用它们

  • 主机 - 主机名端口
  • 监听端口用户名
  • db db的用户名
  • db name ssl
  • 安全连接
  • 输出到名称为

    的已创建文件夹

    mongodump --host --port --username --db --ssl --password --out_date +&#34;%Y-%m-%d&#34;

答案 8 :(得分:5)

按时间备份/还原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 AM备份

  

取决于您的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

答案 9 :(得分:3)

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

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

如果有数据库用户名和密码,那么您将看到下面的代码。

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

这在我的Linux终端中效果很好。

答案 10 :(得分:3)

导出

"react-navigation": "^4.3.9",
"react-navigation-drawer": "^2.4.13",
"react-navigation-stack": "^2.4.0"

要导入

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

答案 11 :(得分:3)

cmd - &gt;

C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin&gt; mongodump.exe --db Dintest

答案 12 :(得分:1)

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

  

mongodump -d -o

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

  

C:\ MongoDB \ bin&gt; mongodump -d -o c:\ mongodump

答案 13 :(得分:0)

Mongo转储并使用uri还原到本地

mongodump --uri“ mongodb:// USERNAME:PASSWORD @ IP_OR_URL:PORT / DB_NAME”-集合COLLECTION_NAME -o LOCAL_URL

如果您未指定--colletion COLLECTION_NAME,它将转储整个数据库。

答案 14 :(得分:0)

或者您可以在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 !!!!!

答案 15 :(得分:0)

对于Windows使用“路径” 。否则,错误如下:不允许位置参数

答案 16 :(得分:0)

 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

答案 17 :(得分:0)

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

class Listener;

std::vector<Listener*> pListeners;

// some code...

for(auto& pListener: pListeners) {
    pListener->update();
}

答案 18 :(得分:-4)

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out / path / folder

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz