MongoDB4.28开启权限认证配置用户密码登录功能

 更新时间:2022年01月12日 11:33:54   作者:fen_fen  
这篇文章主要介绍了MongoDB4.28开启权限认证配置用户名和密码认证登录,本文分步骤给大家介绍开启认证登录的方法,需要的朋友可以参考下

MongoDB默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,需要更改配置文件mongdb.conf中的参数auth。

MongoDB的用户是跟数据库相关联的,具体的数据库,需要有对应的用户,超级管理员也不能操作其他数据库的。

MongoDB存储所有的用户信息在admin 数据库的集合system.users中,保存用户名、密码和数据库信息。

MongoDB开启权限认证:配置用户名和密码认证登录,操作步骤:

1、查看是否开启认证登录

$cd /usr/local/mongodb/bin
$cat mongodb.conf

#数据文件存放目录
dbpath = /usr/local/mongodb/data
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
logappend=true
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=false   
#远程连接
bind_ip=0.0.0.0

2、开启用户名和密码认证(创建用户均需进入admin数据库)

2.1、为admin数据库创建管理员账号

1、数据库admin创建管理员账号

[root@hadoop-master bin]# mongo
> use admin
> db.createUser({user:"root",pwd:"lianshi",roles:["root"]})

2、查看目前用户

> show users

2.2、为数据库mytest创建普通用户

1、给数据库mytest创建cg用户

>use mytest
> db.createUser({user:"cg",pwd:"lianshi",roles:[{role:"readWrite",db:"mytest"}]})

2、查看目前用户

> show users
>db.system.users.find()命令可以查看新创建的用户

2.3、配置文件开启用户名密码认证

#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=true

3、重启mongo服务

[root@hadoop-master bin]# ps -ef |grep mongo
[root@hadoop-master bin]# kill -9 15231
$./mongod -f mongodb.conf

4、mongo授权访问

4.1、admin数据库授权登录

1、mongo访问

[root@hadoop-master bin]# mongo
> use admin
switched to db admin
> show users
2020-06-21T20:14:59.735+0800 E  QUERY    [js] uncaught exception: Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1638:15
shellHelper.show@src/mongo/shell/utils.js:883:9
shellHelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 -->授权配置并重启后,此时查看用户,会发现没有权限

2、用用户和密码登录

> db.auth("root","lianshi")

--->使用db.auth(“root”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

4.1、mytest数据库授权登录

1、mongo访问

> use mytest;
switched to db mytest
> show users
2020-06-21T21:25:41.293+0800 E  QUERY    [js] uncaught exception: Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1638:15
shellHelper.show@src/mongo/shell/utils.js:883:9
shellHelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 --->报错没有权限

2、用户和密码登录用户

> db.auth("cg","lianshi");

使用db.auth(“cg”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

> show dbs
mytest  0.000GB
>  db.student.insert({"id":"2","name":"yxy"})
WriteResult({ "nInserted" : 1 })

其他用户命令:

1、创建普通用户(创建用户cg,对mytest数据库读写权限)

> db.createUser({user:"cg",pwd:"lianshi",roles:[{role:"readWrite",db:"mytest"}]})

2、删除用户>db.dropUser("yonghu")

3、修改用户密码

db.updateUser("cg",{pwd:"123456"})

4、进入数据mytest,用户名密码认证

> db.auth("cg","lianshi");

5、客户端工具授权登录连接mongo数据库

用户名和密码连接数据库

到此这篇关于MongoDB4.28开启权限认证配置用户密码登录功能的文章就介绍到这了,更多相关MongoDB权限认证登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通用MapReduce程序复制HBase表数据

    通用MapReduce程序复制HBase表数据

    这篇文章主要为大家详细介绍了通用MapReduce程序复制HBase表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • vs2019 下用 vb.net编写窗体程序连接 mongodb4.2的方法

    vs2019 下用 vb.net编写窗体程序连接 mongodb4.2的方法

    这篇文章主要介绍了vs2019 下用 vb.net编写窗体程序连接 mongodb4.2,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • MongoDB诡异问题之sh.stopBalancer卡住的解决方法

    MongoDB诡异问题之sh.stopBalancer卡住的解决方法

    这篇文章主要给大家介绍了关于MongoDB诡异问题之sh.stopBalancer卡住解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • MongoDB中方法limit和skip的使用

    MongoDB中方法limit和skip的使用

    这篇文章主要给大家介绍了关于MongoDB中方法limit和skip的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • MongoDB数据库条件查询技巧总结

    MongoDB数据库条件查询技巧总结

    查询是数据库的基本操作之一,下面这篇文章主要给大家介绍了关于MongoDB数据库条件查询技巧的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • PHP中的mongodb group操作实例

    PHP中的mongodb group操作实例

    这篇文章主要介绍了PHP中的mongodb group操作实例,本文给出了3个group命令的用法,需要的朋友可以参考下
    2014-09-09
  • 阿里云服务器安装mongodb的方法

    阿里云服务器安装mongodb的方法

    这篇文章主要介绍了阿里云服务器安装mongodb的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • MongoDB数据库基础知识整理

    MongoDB数据库基础知识整理

    这篇文章介绍了MongoDB数据库的基础知识,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • MongoDB运行日志实现自动分割的方法实例

    MongoDB运行日志实现自动分割的方法实例

    这篇文章主要给大家介绍了关于MongoDB运行日志实现自动分割的方法,文中以一个MongoDB实例为例,写了一个脚本来实现自动分割MongoDB日志,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • 解决mongo的tickets被耗尽导致卡顿问题

    解决mongo的tickets被耗尽导致卡顿问题

    这篇文章主要介绍了解决mongo的tickets被耗尽导致卡顿问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论