MongoDB学习————(三)管理操作

1、mongoexport导出数据

mongoexport -d test -c collectionOfTest -o test.dat

常用参数说明:

  • -d|--db 指明使用的库
  • -c| --collection 指明导出的collection
  • -o| --out 指明导出的文件名
  • -f | --fields 指明导出的字段,多个字段用,号分隔
  • --host/--port 指明连接到mongo的主机ip和端口
  • --csv 导出csv格式,默认为json格式
默认导出到bin目录下

2、mongoimport导入数据
首先进入mongo工具,用以下命令删除掉原来的数据库(貌似除local外全删了,没有试)
db.dropDatabase()
退出mongo,导入数据库
mongoimport -d test -c collectionOfTest test.dat

导入数据的时候会隐式创建表结构。 常用参数说明:

  • -d | --db   使用的数据库
  • -c | --collection 使用的集合
  • -f  | --fields 使用的字段,多个用','号分隔
  • --host/--port  连接到mongodb的ip和端口
  • --type 导入文件的格式,默认为json
  • --drop drop collection first
  • --stopOnError 在导入出现错误的时候停止
  • --file 指明要导入文件的路径
  • --headerline 不导入文件的第一行
注意:这种方法一定要为数据库的每一个collection导出/入一次

3、数据备份
可以用mongodump来做库或表级别的备份:
mongodump -d test

会在当前目录下创建一个dump 目录,用于存放备份出来的文件也可以指定备份存放的目录。 重要参数说明:

  • -d | --db    要备份的数据库
  • -c | --collection 要备份的集合
  • -o | --out 输出备份文件的目录,'-'为标准输出
  • -q | --query 查询备份
默认会将该数据库的所有collection备份

4、数据恢复
mongorestore -d test dump/test/
常用参数说明:
  • -d | --db 要使用的数据库
  • -c | --collection 要使用集合
  • --objcheck 在插入之前验证对象
  • --filter  在插入之前应用过滤
  • --drop  每个集合导入之前先删除
只是恢复了表结构,但是数据没有备份成功,有待研究


5、访问控制

MongoDB 数据库安全有几个方面:

  1. 绑定IP 内网地址访问MongoDB 服务
  2. 设置监听端口
  3. 使用用户名和口令登录
5.1 绑定IP
mongod -bind_ip 192.168.0.3
这样,只有指定ip的客户端才可以连上服务器
5.2  设置监听端口
mongod -bind_ip 192.168.0.3 -port 28888
客户端连接时
mongo 192.168.0.3:28888
5.3  使用用户名和口令登陆
MongoDB 默认的启动是不验证用户名和密码的,启动MongoDB 后,可以直接用MongoDB 连接上来,对所有的库具有root 权限。所以启动的时候指定参数,可以阻止客户端的访问和连接。

mongod -dbpath d:\tool\mingdb\data -auth
这时候登陆还是可以使用mongo的。在最初始的时候 MongoDB 都默认有一个 admin 数据库(默认是空的),而 admin.system.users 中将会保存比在其它数据库中设置的用户权限更大的用户信息。注意:当 admin.system.users 中没有添加任何用户时,即使 MongoDB 启动时添加了 --auth参数,此时不进行任何认证依然可以使用任何操作,直到知道你在 admin.system.users 中添加了一个用户。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值