Mongo 数据库备份和恢复命令

转载请注明出处:

在MongoDB中,使用mongodumpmongorestore命令来备份和恢复数据库

mongodump

1.使用方法:

使用 mongodump 命令可以备份MongoDB数据库的数据。

2.常用参数:

使用mongodump --help 查看所有帮忙参数,以下为常用的一些参数:

  • -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -o, --out:代表导出的文件输出目录;
  • -q, --query:代表查询条件;
  • -j,--numParallelCollections =要并行转储的集合数(默认为4)
  • --gzip,使用Gzip压缩存档;
  • --oplog,使用oplog进行时间点快照;
  • --authenticationDatabase,指定用户鉴定库

3.示例说明:

3.1备份指定数据库到指定目录

复制代码
mongodump -h dbhost -d dbname -o dbdirectory

在这个命令中,dbhost是MongoDB所在服务器的地址,dbname是你想要备份的数据库的名称,dbdirectory是备份的数据存放位置。这个命令将在dbdirectory所在的目录下生成一个名为dbname的目录,其中包含了你想要备份的数据库的内容。

3.2 备份并压缩整个数据库:

复制代码
mongodump --gzip --out /data/backup

将使用gzip压缩,备份整个数据库到 /data/backup 目录下。

mongorestore

1.使用方法:

使用 mongorestore 命令可以将备份的数据导入到MongoDB数据库中。

2.常用参数:

mongodump --help 查看帮助命令,以下为常用的参数:

  • -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -o, --out:代表导出的文件输出目录;
  • --dir = <目录名称>输入目录
  • --drop导入前删除数据库中集合;
  • --gzip,解压Gzip压缩存档还原;
  • --oplog,重放oplog以基于时间点还原;
  • --oplogFile = <文件名>指定重播oplog的oplog文件
  • --authenticationDatabase,指定用户鉴定库

3.示例说明:

3.1使用mongorestore命令来恢复数据库。

这个命令可以将备份的数据库内容导入到MongoDB数据库中。以下是一个例子:

复制代码
mongorestore -h <hostname><:port> -d dbname <path>

在这个命令中,<hostname><:port>是MongoDB所在服务器的地址和端口,dbname是你想要恢复的数据库的名称,<path>是备份数据所在的位置。这个命令将从<path>所在的目录中读取数据,并将其导入到dbname数据库中。

请注意,mongorestore命令在恢复数据的时候,如果指定了--drop选项,那么它会先删除当前数据库中的所有数据,然后再导入备份的数据。因此,需要非常小心地使用这个选项,因为它可能会导致数据丢失。

3.2 恢复上面gzip备份的数据

复制代码
mongorestore --drop --gzip /data/backup/

上述命令将在恢复数据之前删除现有的集合,并且使用gzip解压缩备份文件来还原数据。

相关推荐
AI全栈实验室4 天前
MongoDB迁移金仓踩了5个坑,最后一个差点回滚
mongodb
数据知道5 天前
MongoDB 元素查询运算符:使用 `$exists` 检查字段是否存在及处理缺失字段
数据库·mongodb
数据知道5 天前
MongoDB 批量写操作:`bulkWrite()` 在数据迁移与清洗中的高性能应用
数据库·mongodb
数据知道5 天前
MongoDB 数组更新操作符:`$push`、`$pull`、`$addToSet` 管理列表数据
数据库·mongodb
数据知道5 天前
MongoDB 更新操作符 `$set` 与 `$unset`:精准修改字段与删除字段
数据库·mongodb
数据知道5 天前
MongoDB 数值更新原子操作:`$inc` 实现点赞、计数器等高并发原子操作
数据库·算法·mongodb
数据知道6 天前
MongoDB 数组查询专项:`$all`、`$elemMatch` 与精确匹配数组的使用场景
数据库·mongodb
数据知道6 天前
MongoDB 正则表达式查询:在 MongoDB 中实现模糊搜索与索引优化陷阱
数据库·mongodb·正则表达式
正在走向自律6 天前
文档数据库替换新范式:金仓数据库MongoDB兼容性深度解析与实践指南
数据库·mongodb·国产数据库·金仓数据库
I'mAlex7 天前
金仓数据库平替MongoDB实操解析:多模融合赋能企业文档数据管理国产化升级
数据库·mongodb·kingbasees·金仓数据库