备份与恢复
如果没有配置环境变量,需要进入bin目录,比如Windows:安装目录\MongoDB\Server\3.6\bin
备份
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:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
比如:mongodump -h 127.0.0.1:27017 -d test -o C:\MongoDB\Backup,备份后在C:\MongoDB\Backup创建备份目录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:\data\dump\test。
--dir:指定备份的目录。你不能同时指定 <path> 和 --dir 选项。
比如:mongorestore -h 127.0.0.1:27017 -d test C:\MongoDB\Backup\test
导出
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的备份与恢复,通过参数的搭配相当强大,虽然有点麻烦。
原文地址:https://www.cnblogs.com/dailycode/p/9424747.html