批量备份还原导入与导出MongoDB数据方式

前文链接传送门 mongo数据库的安装与配置

Navicat

建立数据库连接

新建数据库

导入JavaScript文件入数据库

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

mongodump备份数据库

1.常用命令格

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

如果没有用户谁,可以去掉-u和-p。
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉–port。
如果想导出所有数据库,可以去掉-d。

2. 导出所有数据库

[root@localhost mongodb]$ mongodump -h 127.0.0.1 -o /usr/local/Cellar/mongodb
connected to: 127.0.0.1
Tue Dec  3 06:15:55.448 all dbs
Tue Dec  3 06:15:55.449 DATABASE: test     to     /usr/local/Cellar/mongodb/test
Tue Dec  3 06:15:55.449     test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson
Tue Dec  3 06:15:55.450          1 objects
Tue Dec  3 06:15:55.450     test.posts to /usr/local/Cellar/mongodb/test/posts.bson
Tue Dec  3 06:15:55.480          0 objects

3. 导出指定数据库

[root@localhost mongodb]$ mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
connected to: 192.168.1.108
Tue Dec  3 06:11:41.618 DATABASE: tank     to      /usr/local/Cellar/mongodb/tank
Tue Dec  3 06:11:41.623     tank.system.indexes to  /usr/local/Cellar/mongodb/tank/system.indexes.bson
Tue Dec  3 06:11:41.623          2 objects
Tue Dec  3 06:11:41.623     tank.contact to  /usr/local/Cellar/mongodb/tank/contact.bson
Tue Dec  3 06:11:41.669          2 objects
Tue Dec  3 06:11:41.670     Metadata for tank.contact to  /usr/local/Cellar/mongodb/tank/contact.metadata.json
Tue Dec  3 06:11:41.670     tank.users to  /usr/local/Cellar/mongodb/tank/users.bson
Tue Dec  3 06:11:41.685          2 objects
Tue Dec  3 06:11:41.685     Metadata for tank.users to  /usr/local/Cellar/mongodb/tank/users.metadata.json

mongorestore还原数据库

1. 常用命令格式

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

drop的意思是,先删除所有的记录,然后恢复。

2. 恢复所有数据库到mongodb中

[root@localhost mongodb]$ mongorestore /usr/local/Cellar/mongodb/   # 这里的路径是所有库的备份路径

3.还原指定的数据库

[root@localhost mongodb]$ mongorestore /usr/local/Cellar/mongodb/   # 这里的路径是所有库的备份路径

这二个命令,可以实现数据库的备份与还原,文件格式是json和bson的。无法指写到表备份或者还原。

mongoexport导出表,或者表中部分字段

1. 常用命令格式

mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

上面的参数好理解,重点说一下:

-f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q 可以根查询条件导出,-q ‘{ “uid” : “100” }' 导出uid为100的数据
–csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点

2.导出整张表

[root@localhost mongodb]$ mongoexport -d tank -c users -o /usr/local/Cellar/mongodb/tank/users.dat
connected to: 127.0.0.1
exported 4 records

3. 导出表中部分字段

[root@localhost mongodb]$ mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv
connected to: 127.0.0.1
exported 4 records

4. 根据条件敢出数据

[root@localhost mongodb]$ mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json
connected to: 127.0.0.1
exported 3 records

mongoimport导入表,或者表中部分字段

1. 常用命令格式

1.1. 还原整表导出的非csv文件

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

重点说一下–upsert,其他参数上面的命令已有提到,–upsert 插入或者更新现有数据

1.2. 还原部分字段的导出文件

mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名

–upsertFields根–upsert一样

1.3. 还原导出的csv文件

mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名

上面三种情况,还可以有其他排列组合的。

2. 还原导出的表数据

[root@localhost mongodb]$ mongoimport -d tank -c users --upsert tank/users.dat
connected to: 127.0.0.1
Tue Dec  3 08:26:52.852 imported 4 objects

3. 部分字段的表数据导入

[root@localhost mongodb]$ mongoimport -d tank -c users  --upsertFields uid,name,sex  tank/users.dat
connected to: 127.0.0.1
Tue Dec  3 08:31:15.179 imported 4 objects

4. 还原csv文件

[root@localhost mongodb]$ mongoimport -d tank -c users --type csv --headerline --file tank/users.csv
connected to: 127.0.0.1
Tue Dec  3 08:37:21.961 imported 4 objects

参考文章:https://www.jianshu.com/p/667fd4fd6ff7

(0)

相关推荐

  • MongoDB单表数据的导出和恢复实例讲解

    MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB 工作在收集和文件的概念. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集合 集合是一组MongoDB的文档.它相当于一个RDBMS表.收集存在于一个单一的数据库.集合不执行模式.集合内的文档可以有不同的领域.通常情况下,一个集合中的所有文件是相同或相关的目的. 文档 文档是一组键 - 值对.文件动态模式.动态模式

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

    数据库备份 – mongodump 备份本地所有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 更多mongodump详解 数据库还原-mongorestore 恢复所有数据库到MongoDB中: 复制代

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

    数据库备份和数据恢复的重要性,我想大家都知道,这里就举例说明如何操作数据备份,数据恢复的实例: 创建测试数据 创建db:testdb,collection:user,插入10条记录 mongo MongoDB shell version: 3.0.2 connecting to: test > use testdb switched to db testdb > db.user.insert({id:1,name:"用户1"}); WriteResult({ "n

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

    需求是这样的:需要修改数据库中某个表的所有数据,所以,要全部导出,然后修改,修改完之后,再把修改后的数据给再导入到mongo去. 具体如下: 备份,导出一张表为json文件 具体命令: mongoexport --host localhost --port 27017 --username ezsonaruser --password 123456 --collection host_locations --db ezsonar_25 --out /root/host_locations.jso

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

    备份 数据备份就是要保存数据的完整性,防止断电,病毒感染等等情况,使数据丢失.有必要的话,最好勤备份,防止数据丢失. 创建备份目录: mkdir -p /bigdata/mongodb-4.2.8/mongodump   语法: mongodump -h localhost:27017 -d dmp_phone -o /bigdata/mongodb-4.2.8/mongodump   -h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:2701

  • 批量备份还原导入与导出MongoDB数据方式

    前文链接传送门 mongo数据库的安装与配置 Navicat 建立数据库连接 新建数据库 导入JavaScript文件入数据库 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. mongodump备份数据库 1.常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p. 如果

  • linux下导入、导出mysql数据库命令的实现方法

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql /usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 2.只导出表结构 mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql /usr/local/mysql/bin/ mysqldump -uroo

  • Python数据处理-导入导出excel数据

    目录 一.xlwt库将数据导入Excel 1.将数据写入一个Excel文件 2.定制Excel表格样式 3.元格对齐 4.单元格的背景色 5.单元格边框 二.xlrd库读取Excel中的数据 1.读取Excel文件 2.工作表的相关操作 3.处理时间数据 前言: Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况.这里做一个Python处理Excel数据的总结,基本受用大部分情况.相信以后用Python处理Excel数据不再是难事儿! 一.xlwt库将数据导

  • MYSQL日志与备份还原问题详解

    本文为大家分享了MYSQL的日志与备份还原,供大家参考,具体内容如下 一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看: 日志文件命名格式:host_name.err 二.二进制日志 又称BINLOG,记录所有的DDL语句和DML语句,不包括查询语句.这个日志不仅非常重要,而且作为开发人员也非常喜欢这个日志.从它的定义可以看出,这个日志记录了所有会改变表结构和表数据的事件,所以

  • Mysql如何导出筛选数据并导出带表头的csv文件

    目录 如何导出筛选数据并导出带表头的csv文件 Mysql数据文件的导出与导入 数据文件的导出 数据文件的导入 如何导出筛选数据并导出带表头的csv文件 MySQL把数据筛选后导出为csv文件,并带表头 直接上语句 select * into outfile+'路径' -> fields terminated by ',' -> optionally enclosed by '"' -> escaped by '"' -> lines terminated by

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

    一,mongodump备份数据库 1,常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p. 如果导出本机的数据库,可以去掉-h. 如果是默认端口,可以去掉--port. 如果想导出所有数据库,可以去掉-d. 2,导出所有数据库 [root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/ connecte

  • mysqldump备份还原和mysqldump导入导出语句大全详解

    MYSQLdump参数详解 mysqldump备份: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" –lock-all-tables > 路径 mysqldump还原: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 < 路径 mysqldump按条件导出: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a –where "条件语句&

  • MySQL数据库如何导入导出(备份还原)

    本文适用范围:全面阐述MySQL数据库的各种操作,分虚拟主机和服务器两种情况. 虚拟主机 1.通过PHPMyAdmin的导入导出功能,这个软件一般只支持几兆数据的导出,太大的数据可能会超时. 2.通过程序自带的数据库备份还原功能来操作,一些常见的PHP程序如DZ论坛等,后台都有数据库还原和备份的功能,方便我们转移空间数据. 3.如果您的数据库在朝暮数据购买,我们的管理面板支持一键备份和还原.点击备份按钮后,您可以到数据库对应的空间上通过FTP方式下载. 服务器或VPS 首先我们远程到服务器上(W

  • SQL Server导入、导出、备份数据方法

    一.导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库. 2.备份 选数据库-完全, 目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮. 如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输. 3.通过FTP或者remote desktop或者pcanywhere等方法 把第二

  • 深入分析Mongodb数据的导入导出

    一.Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据. mongoexport具体用法 [root@localhost mongodb]# ./bin/mongoexport --help Export MongoDB data to CSV, TSV or JSON files. options: --help produce

随机推荐