备份与还原

简介: 备份与还原

提示

备份与还原是在 bash 终端执行的,而不是在 mongo 中执行的!


MongoDB 的数据备份与恢复分为两种,一种是针对数据库mongodumpmongorestore ,一种是针对数据库中表mongoexport 和mongoimport。


数据库

mongodump——备份

$ mongodump -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> -q <filter_condition> -o <文件存放路径>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明 collection 的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件


示例:

$ mongodump -d dawen -o . 点击复制复制失败已复制


mongorestore——还原

$ mongorestore -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> --drop <备份文件存放路径>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
--drop 先删除所有的记录,然后恢复


示例:

$ mongorestore -d=dawen /root/dawen点击复制复制失败已复制


数据表

mongoexport——导出

$ mongoexport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> -f <field> -q <filter_condition> --csv -o <文件名>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明 collection 的名字
-f 导出指定字段,以逗号分割, -f uid,name,age 导出 uid , name , age 这三个字段
-q 可以根据查询条件导出, -q '{ "uid" : "100" }' 导出 uid100 的数据
--csv 表示导出的文件格式为 csv 的。这个比较有用,因为大部分的关系型数据库都是支持 csv ,在这里有共同点
-o 指明到要导出的文件名


提示

如果不加 --csv ,则默认导出的是 MongoDB 独有的格式。


mongoimport——导入

恢复整表导出的非csv文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> --upsert --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义
--upsert 插入或者更新现有数据


恢复部分字段的导出文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection>  --upsertFields <字段> --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义
--upsertFields 更新部分的查询字段,必须为索引, 以逗号分隔


恢复导出的csv文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> --type <type> --headerline --upsert --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义 默认值
--type 导入的文件类型 json
目录
相关文章
|
Oracle 关系型数据库 数据库
4、数据文件的备份与恢复
数据文件的备份与恢复
125 0
|
存储 缓存 关系型数据库
备份与恢复 | 学习笔记
快速学习备份与恢复
181 0
备份与恢复 | 学习笔记
|
NoSQL MongoDB 数据库
备份与恢复|学习笔记
快速学习备份与恢复
80 0
|
SQL Oracle 关系型数据库
oracle数据库控制文件的备份和恢复之一手动备份和恢复
实验步骤:手动备份和恢复oracle控制文件
563 0
|
关系型数据库 MySQL 数据库
浅谈MySQL数据库的备份与还原
之前用过很长时间的Oracle 11gR2,数据还原备份这种操作经常遇到,操作起来略显蛋疼,几乎都要有阴影了。
1294 0
|
SQL 关系型数据库 MySQL
|
关系型数据库 MySQL 数据库