NoSQL 数据库案例实战 -- MongoDB数据备份、恢复
MySQL数据迁移到MongoDB数据库中
- 前言
- 一、数据备份
- 二、数据恢复
前言
本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境
具体构建,请参考 mongodb-enterprise-4.2.8 环境构建
一、数据备份
MongoDB数据备份
- 逻辑备份mongodump
- 可以用 mongodump 来做 MongoDB 的库或表级别的备份,下面举例说明 备份 my_mongodb 数据库.
实战案例
[root@localhost ~]# mongodump -d my_mongodb
2019-10-28T10:41:59.147+0800 writing my_mongodb.user to
2019-10-28T10:41:59.148+0800 done dumping my_mongodb.user (5 documents)
此时会在当前目录下创建一个 dump 目录,用于存放备份出来的文件
[root@localhost ~]# ll dump/my_mongodb/
总用量 8
-rw-r--r-- 1 root root 280 10月 28 10:41 user.bson
-rw-r--r-- 1 root root 87 10月 28 10:41 user.metadata.json
指定备份存放目录
[root@localhost ~]# mongodump -d my_mongodb -o my_mongodb_dump
2019-10-28T10:43:35.826+0800 writing my_mongodb.user to
2019-10-28T10:43:35.827+0800 done dumping my_mongodb.user (5 documents)
其他参数:
-h: MongoDB 所在服务器地址,例如,127.0.0.1。 当然也可以指定端口号:127.0.0.1:27017
--port:端口号。
-d: 需要备份的数据库实例,例如, test 。
-c: 需要备份的集合 。
-o: 备份数据的存放位置 。
-u: 用户名 。
-P: 密码。
--gzip: 压缩 。
--oplog: point in time 恢复用,只支持全库备份 。
--authenticationDatabase: 认证库 。
--dumpDbUsersAndRoles
dump 用户和角色 ,只有在单库备份时才需要这么做。
--archive=dbname.gz: 3.2 版本新增,不能和-o同时使用 。
归档备份为 l 个文件,但不能和-o 同时使用。
全库备份
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-o /home/mongod/backup/full
备份test库
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -o /home/mongod/backup/
备份test库下的vast集合
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -c vast -o /home/mongod/backup/
压缩备份库
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -o /home/mongod/backup/ --gzip
压缩备份单表
mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin
-d test -c vast -o /home/mongod/backup/ --gzip
二、数据恢复
- mongorestore与mongoimport参数类似
实战案例
全库备份中恢复单库(基于之前的全库备份)
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test --drop /home/mongod/backup/full/test/
恢复test库
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test /home/mongod/backup/test/
恢复test库下的vast集合
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test -c vast /home/mongod/backup/test/vast.bson
–drop参数实践恢复
# 恢复单库
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test --drop /home/mongod/backup/test/
# 恢复单表
mongorestore -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase
admin -d test -c vast --drop /home/mongod/backup/test/vast.bson
NoSQL 数据库案例实战 -- MongoDB数据备份、恢复的更多相关文章
- Mongodb数据备份恢复
Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...
- Mysql数据库常用的命令 数据备份 恢复 远程
远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...
- Mysql实战之数据备份
author:JevonWei 版权声明:原创作品 blog:http://119.23.52.191/ --- 数据备份和恢复 mysqldump 冷备份单库(不会创建新库,需要手动创建并指定导入数 ...
- Linux服务器数据备份恢复策略
一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...
- MongoDB 数据备份和恢复 --- MongoDB基础用法(七)
数据备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. mongo ...
- mongodb 的备份恢复导入与导出
导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...
- mysql数据库补充知识4 数据备份和pymysql模块
一 介绍 #注意: 批量加注释:ctrl+?键 批量去注释:ctrl+shift+?键 二 MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如W ...
- Mongodb之备份恢复脚本
本分脚本: !/bin/bash #备份文件执行路径 which mongodump DUMP= #临时备份目录 OUT_DIR= #本分存放目录 TAR_DIR= #获取当前系统时间==> 2 ...
- mysql用户授权及数据备份恢复
用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...
随机推荐
- ElasticSearch Python 基本操作
创建索引 from elasticsearch import Elasticsearch es = Elasticsearch('192.168.149.96:9200') mappings = { ...
- 【分享】每个 Web 开发者在 2021 年必须拥有 15 个 VSCode 扩展
为什么VSCode如此受欢迎 Visual Studio Code在开发人员中迅速流行起来,它是最流行的开发环境,可定制性是其流行的原因之一. 因此,如果你正在使用VSCode,这里有一个扩展列表,你 ...
- 电脑微信电脑PC 多开/防撤回 补丁
简介 经常使用微信电脑版的用户都会发现一个蛋疼的事情,那就是微信PC版不支持多开,也就是不能同时登陆多个账号,这对于需要在电脑上登陆多个微信账号的朋友来说肯定是极其的不方便.另外有的时候别人撤回了一些 ...
- C++旋转数组(三种解法详解)
题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 附加要求 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题. 你可以使用空间复杂度为 O(1) 的 原地 ...
- 请不要继续将数据库称为 CP 或 AP - 掘金 https://juejin.im/post/6844903878102614030
请不要继续将数据库称为 CP 或 AP - 掘金 https://juejin.im/post/6844903878102614030
- (Sql Server)SQL FOR XML
摘要:sql中的for xml语法为表转化为xml提供了很好的支持,当然使用同样的程序语言也能够达到同样的效果,但是有了for xml将使得这一切更加的方便. 主要内容: Select 的查询结果会作 ...
- 加密填补 填充 pad padding
RFC 1423 - Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identi ...
- 【LinuxShell】free 命令详解
前言 free命令用来显示Linux中的内存使用信息,包括空闲的.已用的物理内存,swap内存,及被内核使用的buffer.在Linux系统监控的工具中,free命令是最经常使用的命令之一. 命令格式 ...
- Redis 常见问题总结
1. 简单介绍一下 Redis 呗! 简单来说 Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的 ,也就是它是内存数据库,所以读写速度非常快, ...
- BIO,NIO,AIO 总结
BIO,NIO,AIO 总结 Java 中的 BIO.NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装.程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不 ...