`
gaozzsoft
  • 浏览: 413680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

MongoDB数据库导出、导入与备份、恢复

 
阅读更多

 

MongoDB导入命令:

mongoimport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --file /opt/backups/mdb1-examplenet.json


mongoimport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --file /opt/backups/mdb1-examplenet.json



mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv

mongoimport --collection contacts --file contacts.json --journal

mongoimport --db sales --collection contacts --stopOnError --dbpath /srv/mongodb/


MongoDB导出命令:

mongoexport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --output mdb1-examplenet.json


mongoexport --db users --collection contacts --csv --output /opt/backups/contacts.csv

mongoexport --db sales --collection contacts --output contacts.json --journal

mongoexport --db sales --collection contacts --dbpath /srv/mongodb/


Mongodb 备份与恢复


可以使用Mongodb自带的mongodump和mongorestore工具来实现数据库的备份和恢复。其用法比较简单,可以使用如下命令来获取帮助信息:

mongodump --help

mongorestore --help

备份使用命令mongodump,如果执行该命令不带任何参数,会把本机上运行的在默认端口的mongodb中的除local数据库外的所有数据库备份下来,存放在当前执行命令的目录下的dump(如果不存在该目录会自动创建)目录中,并按照数据库的名字存放在不同的不同的目录下,例如有个数据库名为test,那么其备份的文件存放的位置为./dump/test目录下。大部分情况下,我们可能不会这么干,那么可以通过-d来指定需要备份的数据,-o来指定备份存放的位置,同时可以使用-h来指定需要备份的主机地址。例如:

mongodump -h 127.0.0.1:27017 -d atagdata -o /data/dump 

 mongodump -h 127.0.0.1 --port 27017 -d atagdata -o /data/dump 

 

备份本机上的atagdata数据库中的所有collections到/data/dump目录中

每个collections都是以一个文件独立存在,

存放路径为/data/dump/atagdata/collections_name.bson 

 

mongodump -h 192.168.1.211 --port 27017 -d atagdata -o /data/dump 

备份远程数据库到本地 

mongodump -h 127.0.0.1:27017 -d atagdata -c log_01 -o /data/dump

备份atagdata数据库中collections名为log_01的数据

 

注意:备份不能一次指定多个数据库,也不能一次指定多个collections,也就是说,要么一次备份下来所有数据库,要么一次只备份一个指定的库,同理,在指定了数据库的情况下,要么全部备份该库下的所有collections,要么只备份指定的一个collections,所以要想只备份几个指定的库或collections时,可以多次执行备份命令,修改其数据库名或collections名即可。另外如果数据库需要认证,可以使用-u和-p来指定用户名和密码。

上述用mongodump备份下来的文件,可以通过mongorestore来进行恢复。可以mongodb实例没有启动的情况下执行恢复操作,这个时候必须使用dbpath来指定存放恢复数据的目录,另外可以使用directoryperdb来指定数据库的数据文件是否按文件夹来区分;当然在mongodb已经启动情况下,也是可以执行恢复操作的,这时候dbpath参数不是必须的,如果指定dbpath,那么dbpath不能指定为当前mongodb实例相同的dppath,反之mongorestore会根据当前运行的实例获取dbpath、directoryperdb信息,把备份数据恢复当前的mongodb的dbpath中。例如:

 

mongorestore /data/dump/

把/data/dump/下所有数据库恢复到当前mongodb中,数据库名字跟备份时名字相同

mongorestore -d test /data/dump/test

恢复test数据库到当前mongodb中test数据库

mongorestore -d new_test /data/dump/test

恢复test数据库到当前mongodb中,并且数据库的名字为new_test

mongorestore -d test --drop /data/dump/test

使用drop参数,在恢复前会删除已有的collections

mongorestore --dbpath /data/db_1 --directoryperdb --drop /data/dump/

把/data/dump/下所有数据库恢复到/data/db_1目录中,数据库名字跟备份时名字相同

 

分享到:
评论

相关推荐

    MongoDB数据库备份恢复工具包

    MongoDB安装包缺少对应的工具包,需要单独下载进行使用,需要讲下载的文件放在MongoDB安装后的bin目录下即可使用MongoDB的导出和恢复功能

    mongodb 数据库操作--备份 还原 导出 导入

    mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport。

    mongodb 数据库操作–备份 还原 导出 导入

    一,mongodump备份数据库 1,常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p。 如果导出本机的数据库,可以去掉-h。 如果是默认端口,可以...

    MongoDB 导出导入备份恢复数据详解及实例

    数据库备份和数据恢复的重要性,我想大家都知道,这里就举例说明如何操作数据备份,数据恢复的实例: 创建测试数据 创建db:testdb,collection:user,插入10条记录 mongo MongoDB shell version: 3.0.2 connecting to...

    MongoDB征文 | MongoDB 备份 导出导入数据,来一套,不零碎|data-559379.pdf

    周二有同学问,MONGODB怎么备份,怎么数据迁移,正好最近要做一个项目...一般小型系统使用mongodump 和 mongorestore 来进行系统的备份和恢复mongodump可以用来转储整个数据库、集合或查询结果。mongodump可以通过转储

    浅谈MongoDB的备份方式

    mongodb数据库同样离不开必要的维护,如备份、恢复、导入、导出。其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了。下面我们来简单谈谈MongoDB的备份方式

    mongokoo:将 mongodb 数据库中的所有集合导出和导入到单个 tarball 中

    蒙哥古将 mongodb 数据库中的所有集合导出和导入到/导出单个 tarball用法$ ./mongokoo -husage: ./mongokoo.sh [options] < DBNAME>OPTIONS: -h Show this help. -l Load instead of export -u Mongo username -p ...

    mongoDB4.2.8备份恢复与导出导入(推荐)

    备份 数据备份就是要保存数据的完整性,防止断电,病毒感染等等情况,使数据丢失。有必要的话,最好勤备份,防止数据丢失。...-d:需要备份的数据库实例,例如:test -o:备份的数据存放位置,例如:/home/mo

    MongoDB备份、还原、导出、导入、克隆操作示例

    备份本地所有MongoDB数据库: 代码如下: # mongodump -h 127.0.0.1 –port 27017 -o /root/db/alldb 备份远程指定数据库: 代码如下: # mongodump -h 192.168.1.233 –port 27018 -d yourdb -o /root/db/yourdb 更...

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    本书旨在帮助云计算初学者迅速掌握MongoDB数据库,提升读者在云计算实践中的应用和开发能力。同时本书极强的系统性和大量翔实的案例对于有一定基础的中高级用户有非常好的参考价值。 第1篇 基础篇 第1章 MongoDB...

    MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例

    需求是这样的:需要修改数据库中某个表的所有数据,所以,要全部导出,然后修改,修改完之后,再把修改后的数据给再导入到mongo去。 具体如下: 备份,导出一张表为json文件 具体命令: mongoexport --host ...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    本书旨在帮助云计算初学者迅速掌握MongoDB数据库,提升读者在云计算实践中的应用和开发能力。同时本书极强的系统性和大量翔实的案例对于有一定基础的中高级用户有非常好的参考价值。 第1篇 基础篇 第1章 MongoDB...

    mongodb资料大全

    备份与恢复: mongodump.ext --help mongodump.ext -d test -o ../data/backup/test //备份数据库test中所有的数据集合 mongorestore.exe --help mongorestore.exe -d "test" D:\Cloud\NoSql\mongodb2\data\backup\...

    mongodb-java:模仿monogdb写一个数据库

    导出,导入,运行时备份 Fsync锁,数据修复 用户管理,安全认证 主从复制 副本集(复制) 分片 学习MongoDB 练习环境 MongoDB v3.6.2 简介: MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供...

    mongodb第二阶段:进阶

    该部分内容包含了数据库安全、副本集搭建、数据备份恢复和导入导出、mapreduce原理和使用、分片集群的搭建以及搭建集群中可能出现的问题解决

    【最新版】navicat150_premium_en.dmg navicat-premium: 15.0.14【亲测可用】最好的MySQL数据库开发工具

    与Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud和MongoDB Atlas等云数据库兼容。您可以快速轻松地构建,管理和维护数据库。 设置数据源连接后,可以使用“导入向导”...

    Nginx版UPUPW PHP绿色服务器平台

    UPUPW内置小型的数据库管理面板,添加,删除,修改,导入,导出快捷方便; UPUPW已配置Nginx的虚拟主机支持伪静态文件,示例包含discuz,phpwind,WordPress和ThinkPHP伪静态规则; UPUPW已配置Nginx的虚拟主机支持Path...

Global site tag (gtag.js) - Google Analytics