🌞问题重现
新装的mongoDB创建了一个普通读写权限的用户,使用db.auth("user", "password")
返回1
,没有任何问题。但是使用该账户密码连接数据库,提示mongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoError: Authentication failed.]
🌞原因
出现问题的原因是直接创建了一个不是root
的用户角色(role),然后用这个用户去做的登录(authentication)。
🌞解决办法
正确的做法是:
MongoDB在第一次做权限认证的时候,需要
- 首先创建一个
admin
用户,它的角色(role)是root
,示例代码:
use admin
db.createUser(
{
user: "admin