mongoDB导出-导入数据
--导出数据集
C:\MongoDB\db\bin>mongoexport -d ttx-xwms-test -c things -o d:\mongo_data\things.txt
C:\MongoDB\db\bin>mongoexport -d ttx-xwms -c interface_log_body -o C:\Users\Administrator\Desktop\tingtong_mongo\interface_log_body.json 导出json格式
C:\MongoDB\db\bin>mongoexport -d ttx-xwms -c interface_log -q "{'type' : 'wms.shipment.update'}" -o C:\Users\Administrator\Desktop\tingtong_mongo\interface_log1.json 带查询条件
mongoexport -d xwms -c interface_log -q '{$and : [{"type" : "wms.shipment.update"}, {created : {$gte: ISODate("2020-01-15T00:00:00.000Z")}}]}' -o /mongodumpData/2020_whl_interface_body.json -u root -p 1234 多条件
mongoexport -d xwms -c interface_log_body -q '{"_id":{"$in":[ObjectId("5dfad4f2cbb55107c6261ef8"),ObjectId("5e216e88cbb55107c629b186")]}}' -o /mongodumpData/2020_whl_interface_body_2222.csv -u root -p 1234 in 语句导出
C:\MongoDB\db\bin> -- 安装路径
--备份数据库(导出整个数据库集)
C:\MongoDB\db\bin>mongodump -h 127.0.0.1:27017 -d ttx-xwms-test -o d:\mongo_data\
C:\MongoDB\db\bin> -- 安装路径
--还原数据库(还原整个数据库集)
C:\MongoDB\db\bin>mongorestore -h 127.0.0.1:27017 -d ttx-xwms-test_restore --dir d:\mongo_data\ttx-xwms-test\
C:\MongoDB\db\bin> -- 安装路径
-d 新的数据库名字
--dir d:\mongo_data\ttx-xwms-test\ 数据存在的目录名
在本地使用 27017 启动你的mongod服务。打开命令提示符窗口,进入MongoDB安装目录的bin目录输入命令mongodump:
>mongodump
执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 目录中
>mongorestore
执行以上命令后,会还原当前bin/dump/ 目录中的所有数据库
利用rebomongo 工具进行删除数据集
--删除interface_log_body的整个文档集
db.getCollection('interface_log_body').remove({}) --删除表里的数据
--查找文档集
db.getCollection('interface_log_body').find({})
--删除集合
db.getCollection('interface_log_body').drop() --将整个数据表进行删除
======对于在docker容器中的mongodb==========================================================
进入容器
docker exec -it <你的MongodDB容器名> /bin/bash
容器中执行:
mongodump -h 127.0.0.1:27017 -d test -o /dump
参数 作用
-h host
--port 端口
-d 指定数据库
-o 指定备份到哪个目录,不指定应该是直接备份到根目录的/dump文件夹
-u 用户名
-p 密码
系统备份成功会在/home/dump目录下自动生成一个数据库名的文件夹/test,里面是全部Collection备份的bson文件
打包备份文件夹
容器中执行:
tar -zcvf test.tar.gz /dump/test
四、从容器复制到宿主
exit 退回到宿主机
从容器中复制出来文件到宿主机
docker cp <你的MongodDB容器名>:/dump/test.tar.gz /home
解压
tar -zxvf /home/test.tar.gz
从宿主机复制到容器
docker cp test.tar.gz <你的MongodDB容器名>:/dump/test.tar.gz
进入容器,解压文件
tar -zxvf /home/test.tar.gz
还原数据
mongorestore -h 127.0.0.1:27017 -d ttx-xwms-test_restore --dir /home/ttx-xwms-test/
https://segmentfault.com/a/1190000012330284
对于linux docker中的mongo整个还原步骤
在停止业务的前提下(实质上,就是保证mongo服务不能被写入数据)
将mongo下面data文件夹,整个迁移到另外的服务器,然后启动服务,即可验证数据是否正常
//停止103服务器的mongo服务
docker stop mongo mongo-express
//停止108服务器的mongo服务
docker stop mongo mongo-express
//删除 108服务器 /home/ttx/app/compose/mongo/data/db 内的所有数据
cd /home/ttx/app/compose/mongo/data/db
sudo rm -rf db/
//将103服务器 /home/ttx/app/compose/mongo/data/db 内的所有数据复制到 108服务器的/home/ttx/app/compose/mongo/data/db 目录下
a: 在103服务器上执行 scp -r db ttx@0.0.0.108:/home/ttx/app/compose/mongo/data/
b: 在108服务器上执行 scp -r ttx@0.0.0.103:/home/ttx/app/compose/mongo/data/db/ ./
最终目的都是要将103服务器的mongo数据复制到108服务器的指定目录下
//复制完成之后,将108服务器的mongo启动起来
cd /home/ttx/app/compose/mongo docker-compose up -d
验证数据是否正确
mongoDB导出-导入数据的更多相关文章
- mongodb导出导入数据
在使用mongodump导出单个表的时候,遇到了一个错误 # mongodump --host xxx --port 27017 --username 'admin' -p '123456' -d 数 ...
- MongoDB中导入数据命令的使用(mongoimport)
MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...
- GreenPlum/postgres copy命令导出/导入数据
一.COPY命令简单实用 1.copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用 ...
- mongodb导出导入实例记录
mongodb导出导入实例记录 平时很用mongodb,所以用到了,就需要去网上搜索方法,干脆将自己的实际经历记录下来,方便日后使用. # 大致需求 源库:db_name_mongo 源IP:192. ...
- BCP 导出导入数据(SQL Server)
BCP指令工具可通过安装SQL Server获得. 1. 根据现有的数据库生成表的format文件(导入导出数据的时候需要) bcp db_test.dbo.Table1 format nul -c ...
- 使用BCP导出导入数据
bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据. 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数 ...
- oracle 导出导入数据
在window的运行中输出cmd,然后执行下面的一行代码, imp blmp/blmp@orcl full=y file=D:\blmp.dmp OK,问题解决.如果报找不到该blmp.dmp文件,就 ...
- 【Teradata Utility】使用SQL Assistant导出导入数据
1.导出 (1)选择菜单栏File,点击Export Results,输入导出数据的SQL: select * from etl_data.soure_table; (2)选择导出数据格式为txt或h ...
- mysql导出导入数据
使用sql语句导出数据: 导出时如果不写绝对路径,会提示The MySQL server is running with the --secure-file-priv option so it can ...
随机推荐
- 大数据去重(data deduplication)方案
数据去重(data deduplication)是大数据领域司空见惯的问题了.除了统计UV等传统用法之外,去重的意义更在于消除不可靠数据源产生的脏数据--即重复上报数据或重复投递数据的影响,使计算产生 ...
- OPENSOURCE - libcurl
本文仅做备份存档,原文地址如下,请点链接进入 https://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html https://www.c ...
- 2.了解nginx常用的配置
作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-07-10 20:56:10 星期三 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...
- codeforces 3D (非原创)
D. Least Cost Bracket Sequence time limit per test 1 second memory limit per test 64 megabytes input ...
- html图片占位符插件holder.js
1.下载源码 下载链接:http://www.bootcdn.cn/holder/ 2.在HTML中引入holde.js <script src="holder-js-2.9.4\ho ...
- P4213 【模板】杜教筛(杜教筛)题解
题意: 求\(\sum_{i=1}^n\varphi(i)\)和\(\sum_{i=1}^n\mu(i)\) 思路: 由性质可知:\(\mu*I=\epsilon,\varphi*I=id\)那么可得 ...
- AbstractQueuedSynchronizer的使用和juc里的相关类的解析
对AQS进行解析后,先来实现两个简单的基于AQS的类,然后再解析juc里基于AQS构造的类. 1.基于AQS的类的示例 首先先看这个类,这个类是<Java并发编程实战>的一个示例,AQS源 ...
- LWIP再探----内存池管理
这这里是接上一篇内存池管理部分的,这里如果读者一打开memp.c的话会感觉特别那一理解原作者在干嘛,但是看懂了就明白原作者是怎么巧妙的使用了宏.废话不多说先说了下我分析是一下宏的条件是 前提条件MEM ...
- Spring配置声明式事务
Spring的事务有两种配置,一种是编程式,另一种是声明式,这里我们配置的是声明式事务 <?xml version="1.0" encoding="UTF-8&qu ...
- Swift Playground All In One
Swift Playground All In One Swift 5.3 Playgrounds in Xcode Xcode 11.5 https://developer.apple.com/vi ...