MongoDb 罗盘:无法使用标准连接字符串进行连接
MongoDb Compass: Not able to connect using standard connection string
我在 EC2 实例上托管了一个 mongodb。安全组允许端口 27017,在 mongo.conf 中,端口绑定设置为 0.0.0.0
。我可以在我的机器上使用 mongo CLI 连接到这个 mongo 实例,所以这意味着服务器是可访问的并且 port/ip 绑定不是问题。但是,我可以使用我的 MongoDb Compass 应用程序进行连接。它给了我这个错误:
Authentication failed.
这是我的连接字符串的样子:
mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase
这与我在计算机上通过 mongo CLI 连接时使用的连接字符串相同:
mongo "mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase"
这行得通。我做错了什么?
原来罗盘没有从我的连接字符串中获取身份验证数据库:mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase
。 myDatabase
是我试图连接购买指南针的数据库,它试图根据默认的 admin
数据库对我进行身份验证。因此,在“单独填写连接字段”部分中,我将“身份验证数据库”手动设置为 myDatabse
并且有效。
Mongodbcompass默认以admin为数据库。所以如果你想连接其他数据库而不是管理员,那么你必须使用 mongodb 罗盘连接字符串,如:
mongodb://myuser:mypwd@my-ec2-ip:27017/?authSource=myDatabase
在安全 -> 数据库访问下,将数据库用户权限更改为读取和写入任何数据库
我在 EC2 实例上托管了一个 mongodb。安全组允许端口 27017,在 mongo.conf 中,端口绑定设置为 0.0.0.0
。我可以在我的机器上使用 mongo CLI 连接到这个 mongo 实例,所以这意味着服务器是可访问的并且 port/ip 绑定不是问题。但是,我可以使用我的 MongoDb Compass 应用程序进行连接。它给了我这个错误:
Authentication failed.
这是我的连接字符串的样子:
mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase
这与我在计算机上通过 mongo CLI 连接时使用的连接字符串相同:
mongo "mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase"
这行得通。我做错了什么?
原来罗盘没有从我的连接字符串中获取身份验证数据库:mongodb://myuser:mypwd@my-ec2-ip:27017/myDatabase
。 myDatabase
是我试图连接购买指南针的数据库,它试图根据默认的 admin
数据库对我进行身份验证。因此,在“单独填写连接字段”部分中,我将“身份验证数据库”手动设置为 myDatabse
并且有效。
Mongodbcompass默认以admin为数据库。所以如果你想连接其他数据库而不是管理员,那么你必须使用 mongodb 罗盘连接字符串,如:
mongodb://myuser:mypwd@my-ec2-ip:27017/?authSource=myDatabase
在安全 -> 数据库访问下,将数据库用户权限更改为读取和写入任何数据库