Mongo 备份与恢复

Posted dailycode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongo 备份与恢复相关的知识,希望对你有一定的参考价值。

备份与恢复

       如果没有配置环境变量,需要进入bin目录,比如Windows:安装目录MongoDBServer3.6in

 

       备份

       mongodump -h dbhost -d dbname -o dbdirectory

       mongodump -h IP [--port 端口] [-u 用户名 -p 密码] -d 数据库 -o 文件存储路径

-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d:需要备份的数据库实例,例如:test

-o:备份的数据存放位置,例如:c:datadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

       比如:mongodump -h 127.0.0.1:27017 -d test -o C:MongoDBBackup,备份后在C:MongoDBBackup创建备份目录test。

 

       恢复

mongorestore -h <hostname><:port> -d dbname <path>

mongorestore -h IP [--port 端口] [-u 用户名 -p 密码] -d 数据库 [--drop] 文件存在路径

--host <:port>, -h <:port>:MongoDB所在服务器地址,默认为: localhost:27017

--db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

<path>:mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:datadump est。

--dir:指定备份的目录。你不能同时指定 <path> 和 --dir 选项。

比如:mongorestore -h 127.0.0.1:27017 -d test C:MongoDBBackup est

 

       导出

mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field

mongoexport -h IP [--port 端口] [-u 用户名 -p 密码] -d 数据库 -c 表名 [-f 字段 -q 条件导出] --csv/json -o 文件存储路径

-d :数据库名

-c :collection名

-o :输出的文件名

--type : 输出的格式,默认为json

-f :输出的字段,如果-type为csv,则需要加上-f "字段名"

如果是Windows下,需要以双引号"filepath",比如:mongoexport -d dbname -c collectionname -o "导出的文件存储全路径.json" --type=json

 

       导入

       mongoimport -d dbname -c collectionname --file "导入的文件存储全路径.json " --type=json

       mongoimport -h IP [--port 端口] [-u 用户名 -p 密码] -d 数据库 -c 表名 --upsert [--drop] 文件存在路径

-d :数据库名

-c :collection名

--type :导入的格式默认json

-f :导入的字段名

--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段

--file :要导入的文件

 

       mongodb的备份与恢复,通过参数的搭配相当强大,虽然有点麻烦。

以上是关于Mongo 备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB备份与恢复

阿里云MongoDB物理备份文件恢复至自建数据库

mongo数据备份及恢复脚本

CentOS 系统备份与恢复

Mongo的备份和恢复(mongodump 和mongorestore )

数据备份与恢复系统备份与恢复