mongodb 备份、还原、导入、导出
mongodump备份数据库
常用的备份命令格式
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
如果想导出所有数据库,可以去掉-d
-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
--port:
端口号。
-d:
需要备份的数据库实例,例如:test
-o:
备份的数据存放位置,例如:/data/backup,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test(test是备份的数据库名)目录,这个目录里面存放该数据库实例的备份数据。
导出某个数据库实例
mongodump -h 192.168.144.25 --port 33988 -d liangdb -o /data/backup/
mongorestore还原数据库
常用命令格式
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。
你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
--dir:
指定备份的目录
不能同时指定 <path> 和 --dir 选项。
导入某个库实例
mongorestore -h192.168.114.25 --port 33988 -d liangdb /data/backup/liangdb
mongoexport导出表,或者表中部分字段
常用命令格式
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 集合名 -f 字段
-q 条件导出 --csv -o 文件名 上面的参数好理解,重点说一下:
-f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q 可以根查询条件导出,-q '{ "_id" : "10001" }' 导出uid为100的数据
--csv 导出的文件格式是csv的。
导出整张表
[root@localhost mongodb]# mongoexport -d test -c users -o /home/mongodb/test/users.dat
connected to: 127.0.0.1
exported 24 records
导出表中部分字段
[root@localhost mongodb]# mongoexport -d test -c users --csv -f uid,name,sex -o test/users.csv
connected to: 127.0.0.1
exported 24 records
根据条件到出数据
[root@localhost mongodb]# mongoexport -d test -c users -q '{uid:{$gt:1}}' -o test/users.json
connected to: 127.0.0.1
exported 12 records
mongoimport导入表,或者表中部分字段
还原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据
还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields根--upsert一样
还原导出的csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
上面三种情况,还可以有其他排列组合的。
还原导出的表数据
[root@localhost mongodb]# mongoimport -d test -c users --upsert test/users.dat
connected to: 127.0.0.1
............
部分字段的表数据导入
[root@localhost mongodb]# mongoimport -d test -c users --upsertFields uid,name,sex test/users.dat
connected to: 127.0.0.1
...............................................
还原csv文件
[root@localhost mongodb]# mongoimport -d test -c users --type csv --headerline --file test/users.csv
connected to: 127.0.0.1
...........................................
mongodb 备份、还原、导入、导出的更多相关文章
- consul备份还原导入导出
工作中要保证生产环境部署的consul的集群能够安全稳定地对外提供服务,即使出现系统故障也能快速恢复,这里将讲述部分的备份还原操作及KV的导入导出操作. 备份与还原 需要备份的主要有两类数据:cons ...
- mongdb 备份还原导入导出
-------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport 1.概念: mongoDB中的m ...
- MongoDB系列----备份与导入导出
参考: http://my.oschina.net/xiaomaoandhong/blog/63471,<> 1.停掉服务器 然后备份 Mongodb将所有数据都存放在"数据目录 ...
- mongodb 备份 还原 导出 导入
张映 发表于 2013-12-03 分类目录: nosql 标签:mongodb, 备份, 导入, 导出, 还原 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mong ...
- docker备份mongodb数据,导入导出
场景:服务器要升级,之前在linux部署的mongodb没有用docker,升级后,mongodb要用docker部署,并将原有的mongodb数据导入到docker部署的mongodb中. 1.在l ...
- 一次生产环境下MongoDB备份还原数据
最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...
- mongodb 备份还原
一.简介 说起来数据库的“备份-还原”,在RDBMS系统中,都有很好的支持,也有很多选项可以设置,功能强大,也能自动完成大部分的备份功能,只要当初设置好了就可以了.对于MongoDB文档型的数据库来说 ...
- MongoDB备份与导入
导出mongodb的数据 mongodump -d nodes -o url 导入mongodb数据mongorestore --db nodes url 删除mongodb的数据库db.dropDa ...
- mongodb备份还原
备份:mongodump mongodump常用参数 --db:指定导出的数据库 --collection:指定导出的集合 --excludeCollection:指定不导出的集合 --host :远 ...
- Mongodb 基础 数据导入导出和用户管理
数据导出 导出命令使用方式 mongoexport---->csv/json使用 参数: -d 库名 -c 表名 -f field1,field2....列名 -q 查询条件 -o 导出文件名 ...
随机推荐
- ubuntu 64上的GCC如何编译32位程序
运行命令 gcc -v 显示: Target: x86_64-linux-gnu 所以,我这里的gcc默认生成64位的程序. 如果想编出32位的程序,就要加 -m32选项.可是我尝试了,还是不行. 原 ...
- python-入门教程(操作mysql数据库)
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x,而MySQLdb不支持3.x版本. 本文测试python版本:3.6. ...
- NetMQ:.NET轻量级消息队列
前言 首先我现在是在一家游戏工作做服务端的,这几天我们服务端游戏做了整个底层框架的替换,想必做过游戏的也都知道,在游戏里面会有很多的日志需要记录,量也是比较大的:在没有换框架之前我们存日志和游戏运行都 ...
- forward和redirect请求方式
之前一直对forward和redirect有点疑问,现在练习一下加深点记忆,理解理解,forward是一次请求,在一个request范围内,而redirect是二次请求 实例: @Controller ...
- java读取txt文件,对字符串进行操作后导出txt文件
嘿嘿,代码略为简单,不再多做解释,直接上码! package org.lq.com.util; import java.io.File; import java.io.InputStreamReade ...
- Maven --- <distributionManagement>标签
1.<distributionManagement>的作用: 负责管理构件的发布.这是一个环境变量 <downloadUrl> URL </downloadUrl& ...
- Linux 创建python虚拟环境
使用virtualenv包管理工具来管理虚拟环境 1.安装virtualenv 不知啥原因,第一次安装超时失败,第二次下载到30%超时失败,第三次才安装成功 2.创建虚拟环境 只有python2.7及 ...
- Chrome 声音自动播放抱错问题【play() failed】
Chrome下调用play后抱错:DOMException: play() failed because the user didn't interact with the document firs ...
- package.json中版本理解
一个完整的版本号可以理解为: [主要版本号,次要版本号,补丁版本号]版本号 x.y.z :其中z 表示一些小的bugfix, y表示一些大的版本更改,比如一些API的变化x表示一些设计的变动及模块的重 ...
- vue的事件
vue的事件: vue事件简写: vue中事件是 v-on:click=' show()' 但是我嫌弃它写太长每次都要 v-on: 事件 vue中就有事件简写 @click='show()' ...