我已经使用MongoDB下载了一个项目,我很难设置。从运行mongod
的终端我看到了这个错误:
2017-05-26T14:51:22.908+0800 I ACCESS [conn21] SCRAM-SHA-1 authentication failed for user on wesbostest from client 127.0.0.1:51653 ; UserNotFound: Could not find user user@wesbostest
从我的npm start
终端mongoose注销此错误:Authentication failed.
我的环境文件包含以下行:
DATABASE=mongodb://user:pass@localhost:27017/wesbostest
我安装了MongoDB Compass。它成功连接了这些设置:
Hostname: localhost
Port: 27017
Authentication: None
SSL: Off
SSH Tunnel: Off
所以我认为环境文件的user:pass
部分是错误的?如果未设置身份验证,如何查看本地用户名和密码是什么和/或设置它们?
答案 0 :(得分:1)
我通过设置MongoDB的用户名和密码解决了这个问题:
MongoDB what are the default user and password?
启动没有访问控制的MongoDB。
mongod --port 27017 --dbpath /data/db1
连接到实例。
mongo --port 27017
创建用户管理员。
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
使用访问控制重新启动MongoDB实例。
mongod --auth --port 27017 --dbpath /data/db1
以用户管理员身份进行身份验证。
mongo --port 27017 -u "myUserAdmin" -p "abc123" \
--authenticationDatabase "admin"