mongodb远程连接以及备份、还原、导出、导入
2016-06-15 18:43
387 查看
一、远程连接mongodb
连接命令:mongo -u username -p pwd 192.168.41.215:27017/database(用户名对应的数据库)
二、mongodump备份数据库
导出命令:mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
详细解释:
-h:mongodb所在的服务器地址(必须指定端口),不指定的话就是本地的127.0.0.1:27017
-u:用户名
-p:密码
-d:需要备份的数据库(导出整个mongodb就去掉)
-o:备份的数据存放的位置
下面是部分截图(导出整个mongodb,也可以指定导出某个database):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183141526-1219206464.png)
三、mongodump备份数据库
格式:mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop是先删除所有的数据,再恢复,下面是刚导出的4个databases的数据
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183521838-922578884.png)
下面是恢复全部的数据(需要使用mongodb的管理员,权限最大的那个用户):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183842760-817830544.png)
下面是恢复指定库(需要使用指定数据库对应的管理员):恢复指定的数据库时需要注意,这里的用户名和密码必须是需要恢复数据库的用户名和密码,否则验证会失败,图中rongbeitest是vvttest数据库的专属管理员,
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616084014463-1002042963.png)
下面是一张本人本地数据库管理员的截图(看了就明白了):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616083919276-145040893.png)
四、mongoexport导出表,或导出表中部分字段
命令格式:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
下面是导出表中部分字段:(导出csv文件时,必须加上--csv,不然导入的时候不成功)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170550135-471664127.png)
导出整张表:.dat和csv
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172000901-1614623589.png)
下面是导出csv文件,导出csv文件必须写导出字段,哪怕是把全部字段都写上,要是不写就会报错
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172121057-1694622462.png)
下面是按照条件来导出:
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172508588-856132844.png)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616173348042-1577307656.png)
下面是导出csv过程中报错:失败:CSV模式需要一个字段列表
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170916651-1535451266.png)
注意(重点):
1.导出csv文件时,如果不添加--csv选项,导出的文件格式如下(这种格式在使用mongoimport导入时是不会成功的,会报错的):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172753292-28840397.png)
2..导出csv文件时,如果添加--csv选项,导出的文件格式如下(只有下面这种格式才能导入成功):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616173101557-1317515260.png)
五、mongoimport导入表,或者表中部分字段
1.还原整表导出的非csv文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
[b]重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据[/b]
下面是导入整个表
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616151926338-1363778052.png)
2.还原部分字段的导出文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
下面是导入部分字段到表中
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616153041057-737920304.png)
3.还原导出的csv文件(导出数据时如果不加--csv选项,导出的数据就会存在很多双引号,导入就会失败)
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170430620-1737578644.png)
注意:如果数据库存在数据,要导入最新的数据,则需要加--upsert选项,会更新数据,否则会报错(提示重复键错误收集)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616171646135-125023322.png)
参考自:http://blog.51yip.com/nosql/1573.html
连接命令:mongo -u username -p pwd 192.168.41.215:27017/database(用户名对应的数据库)
二、mongodump备份数据库
导出命令:mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
详细解释:
-h:mongodb所在的服务器地址(必须指定端口),不指定的话就是本地的127.0.0.1:27017
-u:用户名
-p:密码
-d:需要备份的数据库(导出整个mongodb就去掉)
-o:备份的数据存放的位置
下面是部分截图(导出整个mongodb,也可以指定导出某个database):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183141526-1219206464.png)
三、mongodump备份数据库
格式:mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop是先删除所有的数据,再恢复,下面是刚导出的4个databases的数据
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183521838-922578884.png)
下面是恢复全部的数据(需要使用mongodb的管理员,权限最大的那个用户):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160615183842760-817830544.png)
下面是恢复指定库(需要使用指定数据库对应的管理员):恢复指定的数据库时需要注意,这里的用户名和密码必须是需要恢复数据库的用户名和密码,否则验证会失败,图中rongbeitest是vvttest数据库的专属管理员,
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616084014463-1002042963.png)
下面是一张本人本地数据库管理员的截图(看了就明白了):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616083919276-145040893.png)
四、mongoexport导出表,或导出表中部分字段
命令格式:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
下面是导出表中部分字段:(导出csv文件时,必须加上--csv,不然导入的时候不成功)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170550135-471664127.png)
导出整张表:.dat和csv
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172000901-1614623589.png)
下面是导出csv文件,导出csv文件必须写导出字段,哪怕是把全部字段都写上,要是不写就会报错
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172121057-1694622462.png)
下面是按照条件来导出:
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172508588-856132844.png)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616173348042-1577307656.png)
下面是导出csv过程中报错:失败:CSV模式需要一个字段列表
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170916651-1535451266.png)
注意(重点):
1.导出csv文件时,如果不添加--csv选项,导出的文件格式如下(这种格式在使用mongoimport导入时是不会成功的,会报错的):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616172753292-28840397.png)
2..导出csv文件时,如果添加--csv选项,导出的文件格式如下(只有下面这种格式才能导入成功):
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616173101557-1317515260.png)
五、mongoimport导入表,或者表中部分字段
1.还原整表导出的非csv文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
[b]重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据[/b]
下面是导入整个表
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616151926338-1363778052.png)
2.还原部分字段的导出文件
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
下面是导入部分字段到表中
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616153041057-737920304.png)
3.还原导出的csv文件(导出数据时如果不加--csv选项,导出的数据就会存在很多双引号,导入就会失败)
命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616170430620-1737578644.png)
注意:如果数据库存在数据,要导入最新的数据,则需要加--upsert选项,会更新数据,否则会报错(提示重复键错误收集)
![](https://images2015.cnblogs.com/blog/919768/201606/919768-20160616171646135-125023322.png)
参考自:http://blog.51yip.com/nosql/1573.html
相关文章推荐
- CentOS下安装mongodb
- mongodb创建表语句
- MongoDB学习笔记
- node.js操作mongodb
- mongoDB
- mongoDB数据库设置用户名及密码
- MongoDB 数据库搭建
- windows下安装mongodb
- Mongodb php扩展及安装
- mongodb 数据操作
- mongodb性能参数
- spring结合mongodb报错: 无法将名称 'repository:auditing-attributes' 解析为 'attribute group' 组件
- (转)mongodb分片
- 用 MongoDB 取代 RabbitMQ
- MongoDB修改器的使用2
- MongoDB修改器总结
- mongodb 等待写入复制
- 玩转mongodb(八):MapReduce
- 玩转mongodb(八):分布式计算--MapReduce
- Centos上用yum安装和卸载mongodb 3.0数据库