默认情况下MongoDB没有用户账户的,除非已经再admin中创建了用户并修改了配置文件,否则不用进行任何认证即可访问、修改数据。不同的版本有不同的设置方式,本例为windows系统下的MongoDB3.0.15版本使用。
具有两种方式
具体做法如下:
1,首先创建一个目录用来存放MongoDB数据,本例为D:\mongodata
2,以管理员方式打开cmd窗口,进入到MongoDB所在的文件夹(本例为C:\Program Files\MongoDB\Server\3.0\bin),并执行如下操作
mongod --auth --dbpath "d:\mongodata"
当出现以下结果是,表示启动成功
默认启动端口为27017
具体操作如下:
1,首先创建一个目录用来存放MongoDB数据,本例为D:\mongodata,创建目录存放MongoDB日志信息,本例为D:\mongodata\log\mongo.log
2,新建文件mongo.config,本例路径为D:\mongodata\log\mongo.config,mongo.config 内容如下:
dbpath=D:\mongodata\
auth=true
logpath=D:\mongodata\log\mongo.log
3,以管理员方式打开cmd窗口,进入到MongoDB所在的文件夹(本例为C:\Program Files\MongoDB\Server\3.0\bin),并执行如下操作
mongod --config D:\mongodata\log\mongo.config --install --serviceName "MongoDB"
4,打开服务窗口(services.msc),找到MongoDB 服务,点击“启动”
MongoDB内置的数据库角色有:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
7. 内部角色:__system
具体创建用户的操作如下:
启动MongoDB数据库后,以管理员方式打开cmd窗口,进入到MongoDB所在的文件夹(本例为C:\Program Files\MongoDB\Server\3.0\bin),并执行如下操作
mongo
进入数据库后,执行如下操作
db.createUser({user:'test',pwd:'test',roles:['userAdminAnyDatabase','readWriteAnyDatabase']}
该用户是对所有数据库可做操作。用户也可对特殊的数据库做专门的操作,例如采用如下方式创建用户testAdmin就是对数据库bjt的专项操作
db.createUser({user:"testAdmin",pwd:"123456",roles:[{role:"readWrite",db:"bjt"}]})
需要注意的是,在创建用户时需要注意角色的使用,并不是所有角色都适用于某个特定数据库,例如
使用userAdminAnyDatabase 角色时,就不需要单独指定数据库,否则将会出现类似“Error: couldn't add user: No role named userAdminAnyDatabase@Admin” 的错误
有两种方式,一种是直接授权连接,另一种是连接后授权,两种方式都需要事先以管理员方式打开cmd窗口,并进入到进入到MongoDB所在的文件夹(本例为C:\Program Files\MongoDB\Server\3.0\bin)。
直接授权连接的方式如下,在cmd窗口中输入如下命令
mongo --authenticationDatabase admin -u test -p test
连接后授权如下,在cmd窗口中输入如下命令
C:\Program Files\MongoDB\Server\3.0\bin>mongo
2020-08-20T16:13:07.911+0800 I CONTROL Hotfix KB2731284 or later update is inst
alled, no need to zero-out data files
MongoDB shell version: 3.0.15
connecting to: test
> db.auth('test','test')
1
可以采用mongodb的可视化工具——Robomongo
下载地址:https://robomongo.org/download
本例下载了免安装包robo3t-1.3.1-windows-x86_64-7419c406
打开robo3t.exe,点击“FIle/Connection”菜单,在连接对话框中点击“Create” 按钮创建新的用户
首先在Connection 页面框中设置相应的名称,IP地址,端口信息
其次在Authentication Tab页面框中设置数据库及登录用户、密码