我在具有相同配置的64位和32位Linux服务器上使用mongodb,其中在两个配置文件中都设置了选项auth=true
。
虽然64位系统需要身份验证才能运行show users
或show collections
等命令,但32位版本会为您提供所有请求的信息,而不会在之前运行db.auth()
。
看起来,32位版本忽略了配置文件中的auth=true
选项。
那么:如何在32位系统上运行mongodb启用auth?
答案 0 :(得分:2)
32位版本应该支持身份验证。但有可能:
-f /etc/mongodb.conf
作为选项)或您可以在命令行中指定--auth
db.auth()
。admin
数据库的用户。如果没有这个,你可以随时连接localhost。答案 1 :(得分:0)
关键是,身份验证已禁用,因为没有添加数据库用户,只有特定数据库的用户。使用localhost连接到此数据库会导致“auth” - 自由环境。 (请参阅@Derick的回答,指出可能的原因。)
回到这个问题:
那么:如何在32位系统上运行mongodb启用auth?
重点是:auth处于活动状态,但不适用于localhost的连接。要从localhost启用auth以进行连接,需要以下启动选项:
enableLocalhostAuthBypass=0
答案 2 :(得分:0)
我完成了这个,角色是必要的
db.createUser(
{
user: "youloginname",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)