安装
一、 下载MongoDB的安装文件
(基本教程、文档)
安装版 :下载完MongoDB.msi后点击Next一路安装下去
解压版:下载完成后直接配置(主要解压版)
###二、解压后配置验证(路径:E:\MongoDB)
(1).新建保存mongodb数据路径和日志路径
分别创建data和log文件夹在解压路径(E:\MongoDB)下
在E:\MongoDB\bin下运行命令 mongod.exe --dbpath "E:\MongoDB\data" 指定mongodb数据存储路径否则会有一个默认路径
(2).配置环境变量
path下添加 E:\MongoDB\bin
检测 cmd--mongod -help 输出可看有没问题
(3).另外一种安装:
在指定目录下建立E:\MongoDB\mongodb.conf 内容如下:
# 日志文件位置logpath=E:\MongoDB\logs\mongodb.log# 以追加方式写入日志logappend=true# 是否以守护进程方式运行#fork = true# 默认27017#port = 27017# 数据库文件位置dbpath=E:\MongoDB\data# 启用定期记录CPU利用率和 I/O 等待#cpu = true# 是否以安全认证方式运行,默认是不认证的非安全方式#noauth = trueauth = true# 详细记录输出#verbose = true# Inspect all client data for validity on receipt (useful for# developing drivers)用于开发驱动程序时验证客户端请求#objcheck = true# Enable db quota management# 启用数据库配额管理#quota = true# 设置oplog记录等级# Set oplogging level where n is# 0=off (default)# 1=W# 2=R# 3=both# 7=W+some reads#diaglog=0# Diagnostic/debugging option 动态调试项#nocursors = true# Ignore query hints 忽略查询提示#nohints = true# 禁用http界面,默认为localhost:28017#nohttpinterface = true# 关闭服务器端脚本,这将极大的限制功能# Turns off server-side scripting. This will result in greatly limited# functionality#noscripting = true# 关闭扫描表,任何查询将会是扫描失败# Turns off table scans. Any query that would do a table scan fails.#notablescan = true# 关闭数据文件预分配# Disable data file preallocation.#noprealloc = true# 为新数据库指定.ns文件的大小,单位:MB# Specify .ns file size for new databases.# nssize = # Replication Options 复制选项# in replicated mongo databases, specify the replica set name here#replSet=setname# maximum size in megabytes for replication operation log#oplogSize=1024# path to a key file storing authentication info for connections# between replica set members#指定存储身份验证信息的密钥文件的路径#keyFile=/path/to/keyfile
启动方式 ./bin/mongod -f mongodb.conf
(4)进入客户端
mongo目录/bin下 执行 mongo命令
三、创建win服务
将MongoDB服务器作为Windows服务运行
请注意,你必须有管理权限才能运行下面的命令。执行以下命令将MongoDB服务器作为Windows服务运行:
mongod.exe --bind_ip 127.0.0.1 --logpath "E:\MongoDB\log\mongodb.log" --logappend --dbpath "E:\MongoDB\log" --serviceName "mongodb" --serviceDisplayName "mongodb" --auth --install (注:加上--auth 这样以后就可以使用用户名和密码后才能进行MongoDB的相关操作)
上述命令运行成功后,开始—>运行—>输入services.msc 回车后就可以打开 windows 所有的服务项列表 ;在列表中就可以查看到mongodb的服务项,点击启动。
(2).退出服务方法:在admin 数据库下
1 use admin 2:db.shutdownServer() 3:exit
四、基本命令
1.创建数据库:use 数据库名(创建存放在缓存中 只有添加了数据才能显示,此命令也是切换数据库的命令。)
2.查看所有数据库: show dbs 首次连接我们发现其系统中内置了一个数据库名字为local(如果大家查询出
来还有一个admin数据库,那是因为你使用的是低版本的MongoDB),admin库是不存在的,需要我们自己创 建。admin存放的是用户信息。
3.查询所有数据文档(document) show collections 切换到admin库之后,使用show collections查询,我们发现该数据库下包含了一个system.user和system.version表,我们主要来看system.user表,这张表是用来存放超级管理员的
4.添加存储文档(相当于数据库表):db.文档名.insert({name:"cd"}) (注:添加的数据都是类json格式数据成对存储)
5.查询所有数据 db.文档名.find()
(db.system.users.find())首先使用命令查询system.user表中含有数据否,输入命令:db.system.users.find(),查询发现数据库是空的,这时候我们给这个表添加一个管理员账户
6.查询collection(表)数据条数:db.文档名.find().count();
7.删除collection(文档)数据:db.文档名.remove({});
8.db.createUser({ user: "userss",pwd: "pwdss",customData:{name:"sdf"},roles:[{ role: "readWrite",db: "datesd" }]})
###五、设置用户
启动完MongoDB后,cmd命令下进入E:\MongoDB\bin(即MongoDB的安装目录),执行mongo;
现在增加一个管理员:
db.createUser({ user: "root",pwd: "root",customData:{name:"root"},roles:[{ role: "userAdminAnyDatabase",db: "admin" }]}) 注:创建一个用户名和密码为root的管理员
customData 用户信息备注
创建一般用户,也是用createUser
use db01db.createUser({user:"oneUser",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})
创建一个不受访问限制的超级用户 use admindb.createUser({user:"superuser",pwd:"pwd",roles:["root"] })
登陆用户
进入相应数据库
use admin db.auth("name","pass")
修改用户密码
use admin db.changeUserPassword("username", "xxx")
查看用户信息 db.runCommand({usersInfo:"userName"})
修改密码和用户信息 db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} })
注意:和用户管理相关的操作基本都要在admin数据库下运行,要先use admin;
###六、MongoDB开启用户权限验证
1、mongodb.conf配置文件 中auth=true
2、重启mongodb服务生效 必须授权:db.auth("用户名",“密码”)
###七、MongoDB的roles角色简单介绍
a MongoDB内置角色官网文档介绍:
b 关于MongoDB的内置角色,我们大概可以分为以下几种来简单说一下
b.1 Database User Roles(数据库用户角色):read、readWrite
b.2 Database Administration Roles(数据库管理角色):dbAdmin、dbOwner、userAdmin
b.3 Culster Administration Roles(管理员组,针对整个系统进行管理):clusterAdmin、clusterManager、clusterMonitor、hostManager
b.4 Backup and Restoration Roles(备份还原角色组):backup、restore
b.5 All-Database Roles(所有数据库角色):readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
b.6 Superuser Roles(超级管理员):root、(dbOwner、userAdmin、userAdminAnyDatabase这几个角色角色提供了任何数据任何用户的任何权限的能力,拥有这个角色的用户可以在任何数据库上定义它们自己的权限)
b.7 Internal Role(内部角色,一般情况下不建议设置):__system c 关于上面每一个角色的意义是什么,请自行去官网或者这篇文章去查看,地址是: