mongodb学习(mongodb配置详解)

来源:互联网 发布:中南网络教育平台登录 编辑:程序博客网 时间:2024/05/18 20:50

这篇博客将会学习mongodb的配置参数。主要分为以下四个部分:
1.mongodb启动配置详解
2.导入,导出,运行时备份
3.Fsync锁,数据修复
4.用户管理,安全认证

mongodb启动配置详解

先来看看我们平时常用的mongodb启动项:
1.–dbpath 指定数据库的目录,默认是c:\data\db
2.–port 指定服务器监听的端口,默认是27017
3.–logpath 指定日志文件的输出路径,默认是控制台
4.–auth 启用安全认证的方式来启动数据库
5.–config 指定mongodb的启动项配置文件路径

导入导出数据

在mongodb的导出操作需要用到一个命令”mongoexport”,该命令的参数如下:
1. -d 指定需要导出的数据库
2. -c 指定需要导出的集合名称
3. -o 指定要导出的文件名
4. -csv 指定导出csv格式
5. -q 过滤导出
6. –type

mongoexport -d mydb -c students -o f:/students.json

这里写图片描述
此时,students集合的数据就已经被导出为students.json格式的数据了。

导入数据到集合中:
在导入数据的时候,需要用到mongoimport命令

mongoimport --db mydb --collection students --file f:/students.json

这里写图片描述
此时,数据就已经从students.json文件导入到students集合中了。

运行时备份

上边的通过导入导出进行备份的操作,会有一点弊端,就是当我进行导入导出的时候,会中断一切现有的操作,无论是增删改查。此时可以利用运行时备份来备份文件,可是这样也有一个缺点,那就是有可能会漏掉数据,比如有的文件在内存中还没有及时的同步到硬盘上,结果此时”运行时备份”,就会漏掉该数据。先来看个例子:
1.导出本机下的mydb数据库
同样是在cmd下进行操作。

mongodump --host 127.0.0.1:27017 -d mydb -o f:/mydb

这里写图片描述

2.运行时恢复数据
这里我将刚才导出的mydb数据库,在进行恢复,在恢复之前,我现将现在的mydb数据库删除
这里写图片描述
导入数据我们需要mongorestore命令

mongorestore --host 127.0.0.1:27017 -d mydb -directoryperdb f:/mydb/mydb

这里写图片描述
此时,mydb数据库就被成功的导入到mongodb服务器上了。

Fsync使用

先来说说为什么我们需要使用到Fsync锁机制,还记得之前提到的”运行时备份可能存在数据丢失”,也就是没有将缓冲池中的数据进行备份,使用Fsync就可以解决该问题,上锁可以将缓冲池中的数据全部放入到数据库中。
那么如何上锁和解锁呢??
上锁:

db.runCommand({fsync:1,lock:1})

这里写图片描述

解锁:

db.currentOp()

数据修复

当我们的主机由于突然停电,或者一些其他的自然灾害的时候。

db.repairDatabase()

用户管理

1.添加一个用户

db.addUser("用户名","密码")

在添加完成用户以后,可以切换到admin用户,查看是否成功添加新的用户。
这里写图片描述
从图中可以看出,已经成功添加了三个用户
2.启用用户

db.auth("用户名","密码")

3.用户删除
由于我们的用户的配置信息是存放在system.users集合中的,所以删除用户可以向删除集合中的数据一样来操作。

db.system.users.remove({user:"用户名"})

这里写图片描述
可以看到删除”root”用户成功。

0 0