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

二、数据恢复

MongoDB数据恢复

  • 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数据备份、恢复的更多相关文章

  1. Mongodb数据备份恢复

    Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...

  2. Mysql数据库常用的命令 数据备份 恢复 远程

    远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...

  3. Mysql实战之数据备份

    author:JevonWei 版权声明:原创作品 blog:http://119.23.52.191/ --- 数据备份和恢复 mysqldump 冷备份单库(不会创建新库,需要手动创建并指定导入数 ...

  4. Linux服务器数据备份恢复策略

    一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...

  5. MongoDB 数据备份和恢复 --- MongoDB基础用法(七)

    数据备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. mongo ...

  6. mongodb 的备份恢复导入与导出

    导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...

  7. mysql数据库补充知识4 数据备份和pymysql模块

    一 介绍 #注意: 批量加注释:ctrl+?键 批量去注释:ctrl+shift+?键 二 MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如W ...

  8. Mongodb之备份恢复脚本

    本分脚本: !/bin/bash #备份文件执行路径 which mongodump DUMP= #临时备份目录 OUT_DIR= #本分存放目录 TAR_DIR= #获取当前系统时间==> 2 ...

  9. mysql用户授权及数据备份恢复

    用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...

随机推荐

  1. matlab gui matlab gui 鼠标点击显示图像颜色值

    首先看看效果 ‍ 首先功能说明下,运行后通过myfile菜单打开一幅图片之后在axes中显示,由于要使用图片的放大缩小等功能将figure 的菜单栏与工具栏都一并打开了. 界面编程主要是callbac ...

  2. 关掉IE提示“当前安全设置会使计算机有风险”

    我们先来看一下IE浏览器出现的提示窗口,该窗口位于最顶端,不点击设置的话,无法进行下一步的操作. 这时我们点击开始按钮 ,在弹出菜单中选择"运行"菜单项. 在打开的Windows运 ...

  3. Docker逃逸

    初识Docker逃逸 - FreeBuf网络安全行业门户 https://www.freebuf.com/articles/container/242763.html

  4. Lambda架构正是这样一种用来处理不能够直接实时计算问题的通用架构

    https://mp.weixin.qq.com/s/BGHOw12iCASJy1pgkYZi3w 当数据处理做不到实时,应该怎么办?

  5. https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/MurmurHash.html

    https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/MurmurHash.html https://github.com/ ...

  6. 我感兴趣的 .NET 开源项目

    Gui.cs - 用于.NET 的控制台终端 UI 工具包 https://github.com/migueldeicaza/gui.cs Newtonsoft.Json - 高性能的 JSON 解析 ...

  7. python学习:随机数的产生,随机数拼接字在脚本中的应用

    学习random的时候,看到一份表格觉得不错,转载记录到自己的笔记中: random以及它们在numpy.random中对应的函数应该会很有帮助: 注意:NumPy专门用于构建和操作大型多维数组.如果 ...

  8. Linux——软件安装

    Linux--软件安装 一.gcc 二.make 三.rpm 四.yum 一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标 ...

  9. linux虚拟摄像头vivid配置

    总述    最近在看摄像头驱动,需要配置虚拟摄像头的驱动,但是教程里面是linux2.6内核的,实际电脑的是Ubuntu16,内核是linux4.15版本,从2.6到4.15内核好多文件发生了变化,所 ...

  10. 使用TCP发送文件

    客户端 package com.zy.demo3; import java.io.File; import java.io.FileInputStream; import java.io.IOExce ...