> 数据库 > MongoDB >

MongoDB 备份与还原 mongodump、mongorestore

摆烂1:DBeaver CE社区版本不支持连接mongodb,需要企业版本才有。
摆烂2:NoSQLBooster for MongoDB 客户端,动不动就提示是收费功能。

参考:https://blog.csdn.net/u011213044/article/details/119036749



工具下载
根据自己操作系统下载,一般选择最新的版本。
下载地址:https://www.mongodb.com/try/download/database-tools
命令说明
windows上传参: /xx:value1 /xx2:value2
linux 上传参: --xx value1 --xx2 value2
命令格式:command [options] <connection string mongodb:// >,意思就是 先传参数,末尾跟连接字符串
数据备份
mongodump  /archive:<file>.gz /gzip /db:<dbname> /collection:<collection name>  mongodb://<username>:<password>@<host or ip>:<port default 27017>/?authSource=<authdb default: admin>
/archive,输出到单文件,包括全路径,只写文件名,就是当前命令行的目录,文件名随意,因为示例里面用了Gzip压缩,所以写的.gz
/gzip,开启Gzip压缩
/db,数据库名称,不写可能是全库(你可以试试)
/collection,集合名称,不写就是整个库的所有集合
<port>,端口,默认是27017
<authdb>,用来认证的数据库,也就是存放用户的数据库名称,默认就是admin
数据还原
mongorestore  /archive:<file>.gz /gzip /db:<dbname> /collection:<collection name>  mongodb://<username>:<password>@<host or ip>:<port default 27017>/?authSource=<authdb default: admin>
参数与数据备份完全对应的,所以照抄
逻辑1:数据库不存在,自动创建
逻辑2:集合不存在,自动创建
逻辑3:数据不存在,insert操作,数据存在,无操作
深思:数据实际上追加操作,没有更新操作,所以删除已经存在的库,再进行还原,能与备份数据一致。
索引:还原后会根据集合的索引设置,重建索引。



(责任编辑:IT)