如何修复:错误:身份验证失败

时间:2019-06-28 11:19:06

标签: mongodb

我试图在mongodb服务器上进行远程连接,将本地计算机丢掉,但是我遇到了一些问题。

在远程服务器上,我修改了“ mongod.cfg”文件,并将bindIp从127.0.0.1更改为0.0.0.0以允许访问。在同一文件中,我通过添加身份验证来更改安全性:“已启用”。

我创建了一个管理员用户:

> use admin
> db.createUser({user: "root", pwd: "root", roles:["root"]})

我用--auth标志启动了mongodb

> mongod --auth --port 27017

服务器启动后,我以管理员身份连接到服务器

mongo 127.0.0.1:27017 -u "root" -p "root" --authenticationDatabase "admin"

连接后,我会创建一个普通用户

> use base
> db.createUser({user: "base", pwd: "base", roles:["dbOwner"]})

然后我从mongo shell断开连接,并使用新的用户凭据重新连接

> mongo <127.0.0.1:27017>/base -u "base" -p "base"

它在远程服务器上正常工作。

在本地计算机上,我在本地计算机上尝试了相同的命令,但失败了

> mongo 127.0.0.1:27017/base -u "base" -p "base"
[js] Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

1 个答案:

答案 0 :(得分:0)

127.0.0.1引用了主机的本地主机,如果要使用一台主机,则需要在两台机器上都设置用户,如果要使用共享云中数据的数据库,则可以使用Mlab,或者如果两个ip都在同一个网络中,则可以通过ip地址进行相互引用

mongo <ip_address>:27017/base -u "base" -p "base"