mongodb auth

auth 认证,忙活了好久,都不行。
后来不断的试验,总算可以了。问题出在开始启动时就带有--auth 参数,导致后面不能进行认证,因为开始并没有创建认证的用户和密码。以至于好多操作都受限制。解决的办法是,第一次启动mongod时不加--auth参数,然后在admin数据库里创建一个admin 和root用户。然后再启动mongod 加上--auth 参数,再登入mongo时 先验证 db.auth("admin":"admin"),db.auth("root","root")
之后就可以进行各种操作了

1.先下载安装
2.启动一个mongod --port ××× --dbpath ×××(注意,别加--auth 和 --keyFile ××× ,不然创建不了user),然后 启动mongo --port ××× 。
>use admin
>db.createUser({user:"admin",pwd:"admin",roles[{role:"userAdminAnyDatabase",db:"admin"}]})
>db.createUser({user:"root",pwd:"root",roles:[{role:"root",db:"admin"}]})
3.关闭mongod 和 mongo

4.重新打开 (把所有的mongod 都打开)mongod --port ××× --dbpath ××× --auth --keyFile ××× --logpath ××× --replSet ×××
5.启动 刚才创建了 用户admin 的mongo ,mongo --port ×××
>use admin

>db.auth("admin","admin")
1
>db.auth("root","root") (这个不认正的话 ,secondary 就 不能 db.×××.find(),)

> rs.initiate()

ok !

猜你喜欢

转载自jacklin2015.iteye.com/blog/2248611