NoSQL 数据库案例实战 -- MongoDB数据备份、恢复

MySQL数据迁移到MongoDB数据库中

  • 前言
  • 1、数据备份
  • 2、数据恢复

 

前言

本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境
具体构建,请参考 mongodb-enterprise-4.2.8 环境构建
html


1、数据备份

MongoDB数据备份mongodb

  • 逻辑备份mongodump
  • 能够用 mongodump 来作 MongoDB 的库或表级别的备份,下面举例说明 备份 my_mongodb 数据库.

实战案例shell

[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库json

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 

压缩备份单表spa

mongodump -h 192.168.150.15:27017 -uroot -proot --authenticationDatabase admin -d test -c vast -o /home/mongod/backup/ --gzip 

2、数据恢复

MongoDB数据恢复rest

  • mongorestore与mongoimport参数相似

实战案例code

全库备份中恢复单库(基于以前的全库备份)

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