mongodb开启认证功能,并且添加管理员 - Go语言中文社区

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 FilesMongoDBdatalogmongodb.log" --logappend 

--dbpath "C:Program FilesMongoDBdatadb" 

--port 27017 

--serviceName "localhost"

 --serviceDisplayName "mongodb" 

--install

只要修改两个地方:

mongod.exe 

--auth 

--bind_ip 127.0.0.1  

--logpath "C:Program FilesMongoDBdatalogmongodb.log" --logappend 

--dbpath "C:Program FilesMongoDBdatadb" 

--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又回来了!!!当时那个失而复得的心情啊

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/YQXLLWY/article/details/52242196
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-30 10:24:17
  • 阅读 ( 1403 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢