即使禁用了身份验证,也“没有经过身份验证的用户”

时间:2019-11-23 03:19:11

标签: mongodb

我刚刚在Windows上下载了新的MongoDB 4.2.1,我只想在本地使用它而无需身份验证。我可以简单地运行mongod,服务器启动正常。我能够连接到mongodb://localhost:27017,但是当我尝试执行任何操作时,都会收到错误there are no users authenticated

在以前的版本中我从未遇到过此问题,所以我想知道4.2现在是否有必须启用身份验证的新限制。是这样吗?

编辑:这是MongoDB的全新安装,并且我已经卸载了所有其他版本。我没有更改配置。我要做的就是创建C:/data/db目录。

编辑2:

这是我的配置文件:

storage:
  dbPath: C:\Program Files\MongoDB\Server\4.2\data
  journal:
    enabled: true
net:
  port: 27017
  bindIp: 127.0.0.1

从混乱中获得更多信息。 MongoDB Compass在连接后立即给我错误。一个nodejs应用程序可以连接,但是在尝试编写任何内容时都会出错。

但是,在mongo shell中,我可以毫无问题地进行连接和进行写操作。

没有命令被记录,只有初始启动输出看起来一切正常。

db._adminCommand( {getCmdLineOpts: 1})输出:

{
        "argv" : [
                "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongod.exe",
                "--config",
                "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongod.cfg",
                "--service"
        ],
        "parsed" : {
                "config" : "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongod.cfg",
                "net" : {
                        "bindIp" : "127.0.0.1",
                        "port" : 27017
                },
                "service" : true,
                "storage" : {
                        "dbPath" : "C:\\Program Files\\MongoDB\\Server\\4.2\\data",
                        "journal" : {
                                "enabled" : true
                        }
                },
                "systemLog" : {
                        "destination" : "file",
                        "logAppend" : true,
                        "path" : "C:\\Program Files\\MongoDB\\Server\\4.2\\log\\mongod.log"
                }
        },
        "ok" : 1
}

3 个答案:

答案 0 :(得分:0)

我将其作为“响应”(而不是“评论”)给出,以便我可以更清晰地为您设置格式。

我碰巧在Linux VM上运行MongoDB 4.2.0,没有身份验证...也没有问题。

建议:

  1. 检查/etc/mongod.conf(与Windows等效),并确保authorization完全注释掉(与“授权:已禁用”相对)

    < / li>
  2. 选中/var/log/mongodb/mongod.log(Windows等效)。如果您发现任何“重要”内容,请将其复制/粘贴到您的帖子中。

  3. 在“ mongo”中,键入db._adminCommand( {getCmdLineOpts: 1})并确保您的运行时配置设置符合您的期望。

请让我们发布您发现的内容!

答案 1 :(得分:0)

好吧,由于某种原因,它在连接到127.0.0.1而不是localhost时可以工作。以前从未有过。

答案 2 :(得分:0)

确保你已经安装了mongodb