MongoDB 备份与还原 mongodump、mongorestore
时间:2022-09-08 17:42 来源:匿名上神 作者:匿名上神
摆烂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)
摆烂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) |