一. MongoDB数据库 备份与还原工具介绍:
数据备份工具 mongodump.exe
数据还原工具 mongorestore.exe
二. MongoDB数据库备份
mongodump -h 127.0.0.1:27017 -d pcbdb -o "e:\db"
参数说明:
-h 127.0.0.1:27017 主机 IP:端口号(如果不输入:默认127.0.0.1:27017)
-d pcbdb 备份的数据库库名(如果不输入:默认所有库都备份)
-o "e:\db" 备份的路径(如果不输入:默认备份路径(MongoDB安装路径下的) bin\dump 文件夹)
二. MongoDB数据库还原
mongorestore -h localhost:27017 -d pcbdb --drop "E:\db\pcbdb"
参数说明:
-h 127.0.0.1:27017 主机 IP:端口号(默认localhost:27017,也可以不加-h参数)
-d pcbdb 备份的数据库库名(默认所有库都备份),如果加了此参数,则必须指定一个待还原的路径
--drop 先删,再还原(默认按:增量还原,如果主键冲突则不加插入记录)
"E:\db\pcbdb" 待还原备份数据库目录(默认还原路径(MongoDB安装路径下的) bin\dump 文件夹)
三.关键参数说明
-h 指明数据库宿主机的IP
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件
--authenticationDatabase 验证数据的名称
--gzip 备份时压缩
--oplog 使用oplog获取时间点快照
--drop 恢复的时候把之前的集合drop掉
四.凝问解答
1.mongodump/mongorestore是否可以指定集合备份或还原呢?
当然可以,在参数后面加入-c 后面加入你的集合即可,例:-c ppeflow
2. mongodump/mongorestore与mongoexport/mongoimport都可以指定集合数据导出与导入,那数据格式一样吗?
mongodump/mongorestore:导出/导入是BSON格式
mongoexport/mongoimport :导出/导入的是JSON格式
3.BSON格式与JSON格式有什么不同?
BSON格式:二进制格式,体积小,不具可读性,带索引, MongoDB有版本不同BSON格式存在细微差异,数据导出导入存在不兼容问题
JSON格式:文本格式, 大体积,可读性强,不带索引,各版本MongoDB JSON可以可以相互兼容
4.数据库还原是全量还原还是增量还原?
默认还原是按增量还原,如果要全量还原, 加入参数--drop 先删,再进行还全量还原。