mongodb开启认证功能,并且添加管理员

搜了很多教程,花了一个下午的时间,幸好最终搞出来了哭

首先是有两种说法,其中一种说要自己添加配置文件,其实是不用的,我采取的另一种方法,直接在cmd中开启认证就行了

第一步,先为自己创建一个最高权限的身份(是不是莫名的很爽,老子有最高权限!!!!得意),如果不执行这一步,你直接开启认证,你也没有权限来操作他了

use admin

db.createUser(
   {
     user: "trouble i am in",
     pwd: "trouble i am in",
     roles: [ 
{ role: "userAdminAnyDatabase", db: "admin" }
]
   }
)

上面的用户名和密码是我乱编的,还有一些教程说使用 addUser 的,那是很久以前的版本了,我的版本是 3,2,3,所以是使用 createUser的,而且现在创建成功不表示一定创建成功了,在认证的时候如果你这里出错,admin中数据是存在,但是认证是失败的

第二步,在 cmd 中重新配置 mongodb,前面安装 mongodb 的时候在 cmd 中输入过一下内容,记得先关闭 mongodb的服务 net stop mongodb

mongod.exe 

--bind_ip 127.0.0.1  

--logpath "C:\Program Files\MongoDB\data\log\mongodb.log" --logappend 

--dbpath "C:\Program Files\MongoDB\data\db" 

--port 27017 

--serviceName "localhost"

 --serviceDisplayName "mongodb" 

--install

只要修改两个地方:

mongod.exe 

--auth 

--bind_ip 127.0.0.1  

--logpath "C:\Program Files\MongoDB\data\log\mongodb.log" --logappend 

--dbpath "C:\Program Files\MongoDB\data\db" 

--port 27017 

--serviceName "localhost" 

--serviceDisplayName "mongodb" 

--reinstall

其中 --auth表示开启认证,--reinstall 表示重新载入,之后重新开启 mongodb就开启权限验证了,这个时候发现你未登录之前,连 show dbs的能力都没有,要想有权限,使用前面设置的用户名和密码进行登录

use admin

db.auth("trouble i am in","trouble i am in")

这样就行了,下面载附加一个我遇见的差点吓死我的情况,我的 admin 数据库不见了。。。。。。。。。。而且我使用 use admin 也没有办法创建 admin,使用 show dbs,也查询不到 admin,当时整个人蒙掉了,重装了两遍,还是没有 admin 数据库,最后搜到一哥们遇到的同样 的情况,他的回答是使用 use admin重建,那我就再狠一点,直接在查不到 admin的情况下创建用户

use admin 

db.createUser(
   {
     user: "trouble i am in",
     pwd: "trouble i am in",
     roles: [ 
{ role: "userAdminAnyDatabase", db: "admin" }
]
   }
)

之后我发现成功了,admin又回来了!!!当时那个失而复得的心情啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值