MongoDB使用用户登录访问

 

 

默认情况下MongoDB没有用户账户的,除非已经再admin中创建了用户并修改了配置文件,否则不用进行任何认证即可访问、修改数据。不同的版本有不同的设置方式,本例为windows系统下的MongoDB3.0.15版本使用。

1,启动MongoDB

具有两种方式

1.1 即时启动

具体做法如下:

1,首先创建一个目录用来存放MongoDB数据,本例为D:\mongodata

2,以管理员方式打开cmd窗口,进入到MongoDB所在的文件夹(本例为C:\Program Files\MongoDB\Server\3.0\bin),并执行如下操作

mongod --auth --dbpath "d:\mongodata"

当出现以下结果是,表示启动成功

默认启动端口为27017

1.2 服务启动

具体操作如下:

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 服务,点击“启动”

 

2,创建用户

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” 的错误

3,用户登录

3.1 命令登录

有两种方式,一种是直接授权连接,另一种是连接后授权,两种方式都需要事先以管理员方式打开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

3.2 工具登录

可以采用mongodb的可视化工具——Robomongo

下载地址:https://robomongo.org/download

本例下载了免安装包robo3t-1.3.1-windows-x86_64-7419c406

打开robo3t.exe,点击“FIle/Connection”菜单,在连接对话框中点击“Create” 按钮创建新的用户

首先在Connection 页面框中设置相应的名称,IP地址,端口信息

其次在Authentication Tab页面框中设置数据库及登录用户、密码

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mystonelxj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值