课程大纲
- MongoDB备份机制
- 数据库的恢复
- 数据库的导出
- 数据库的导入
- MongoDB面试题
一、MongoDB备份机制
1. MongoDB备份方式
- 磁阵列
- 文件系统快照 Filesystem Snapshots
- 复制数据文件 CP
- mongodump 备份 和 mongorestore 恢复工具
- mongoimport 导入 和 mongoexport 导出工具
- MongoDB Atlas云计算平台
- MongoDB Cloud Manager
- Ops Manager企业版收费
- 第三方工具
- 阿里云提供的备份工具
2. MongoDB的备份考量
a. 要点:
- 备份:需要读写,对系统性能产生影响,需要评估(冷热备份)
- 复杂度:集群中的备份
- 增量备份:(差异化备份)
3. MongoDB 备份方式对比
4. mongodump 备份工具
- mongodump 是官方标配的简单数据备份工具
- mongodump 创建的是二进制BSON备份数据(BSON)
- mongodump 可以从mongod或mongos实例导出二进制数据
- mongodump 可用于转储整个数据库,集合或查询结果
- mongodump 可以备份正在写入的数据库,附带备份oplog数据
- mongodump 适用于小型数据库备份(如小于10G的数据),不适合大型系统
- mongodump 备份机制不是增量方法
- mongodump 是资源密集型的,对系统性能会产生影响
生产环境:用主-从模式,在从服务器上进行备份
5. mongodump 备份机制
- mongodump 创建BSON备份文件,mongorestore工具恢复数据库
- mongodump 和 mongorestore 针对正在运行的mongod
- mongodump 也可以直接操作底层数据文件
- 默认情况下,mongodump不捕获local数据库的内容
- 为了节省空间,备份不包括索Index信息,恢复数据库要重建索引
- 备份时,mongodump会对mongod性能产生影响
- 对于副本集(主从复制集群),mongodump提供了--oplog选项,记录备份中更新数据操作,包含oplog条目中
- mongorestore 可以重放捕获的oplog
- 要恢复--oplog的备份,请使用带有--oplogReplay选项
6. MongoDB 备份工具实战
a. 要点:
- 远程备份:数据大(几百G),网络带宽问题
- 远程备份:网络不稳定中断问题
- 增量备份:(差异化备份)
b. 备份命令
## 链接本地数据库
mongodump --host 127.0.0.1--port 27017
## 设置备份目录(目录不存在自动创建)
mongodump --out /data/backup/
## 备份taobao数据库下的users集合
mongodump --collection users --db taobao
## 备份所有(一般不用)
mongodump
## 链接远程数据库,
mongodump --host aliyun.com --port 3017 --username root --password "pass123" --out dump-2018
c. windows 下实战
d. linux 下实战