mongodb auth

本文详细介绍了如何在MongoDB中正确设置auth认证。包括避免在未创建用户的情况下启动时使用--auth参数,创建管理员和root用户的过程,以及如何在认证后进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 !
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值