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


当前回答

Mongo转储和恢复与uri到本地

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

省略——collection COLLECTION_NAME将转储整个DB。

其他回答

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

你也可以使用gzip备份一个集合,并在运行中压缩备份:

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

或者在文件名中加上日期:

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

更新: 在date文件夹中备份数据库的所有集合。文件被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

有一个实用程序叫做:mongodb 在mongo命令行中,你可以输入:

>./mongodump

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

./mongodump --db blog --collection posts

看看:mongodb

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

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

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

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

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

Mongo转储和恢复与uri到本地

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

省略——collection COLLECTION_NAME将转储整个DB。