--导出数据集
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
验证数据是否正确
手机扫一扫
移动阅读更方便
你可能感兴趣的文章