Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在Mongo 3.6中以管理员用户身份登录_Javascript_Mongodb - Fatal编程技术网

Javascript 无法在Mongo 3.6中以管理员用户身份登录

Javascript 无法在Mongo 3.6中以管理员用户身份登录,javascript,mongodb,Javascript,Mongodb,我只是想在Mongo3.6中创建一个管理员用户并登录。我跑: $mongo db.createUser( { user:"AdminMark", pwd:"fghtyyy", roles:[{role:"root",db:"admin"}] } ) 上面写着:成功添加了用户 然后尝试登录: mongo -u AdminMark -p --authenticationDatabase admin 我输入密码。但我得到: 2018-03-05T20:40:07.689+

我只是想在Mongo3.6中创建一个管理员用户并登录。我跑:

 $mongo
db.createUser(
 {
   user:"AdminMark",
   pwd:"fghtyyy",
   roles:[{role:"root",db:"admin"}]
 }
)
上面写着:
成功添加了用户

然后尝试登录:

mongo -u AdminMark -p --authenticationDatabase admin
我输入密码。但我得到:

 2018-03-05T20:40:07.689+0000 E QUERY    Error: 18 Authentication failed.
at DB._authOrThrow (src/mongo/shell/db.js:1271:32)
at (auth):6:8
at (auth):7:2 at src/mongo/shell/db.js:1271
exception: login failed
这种情况发生在本地和我的服务器上。发生什么事了

我在这里学习教程:

我的mongod.conf文件的内容是:

    # mongod.conf

    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/

    # Where and how to store data.
    storage:
      dbPath: /var/lib/mongodb
      journal:
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:

    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log

    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1


    #processManagement:

    #security:

    #operationProfiling:

    #replication:

    #sharding:

    ## Enterprise-Only Options:

    #auditLog:

    #snmp:
我也试过了。没用


我可以非常简单地添加一个mongo 3.6管理员用户,然后登录到mongo吗?

请检查您的mongod.conf文件,并确保授权设置为已启用(在安全部分) 如果要从服务器外部连接MongoDB,请同时从mongod.conf文件中删除绑定ip(在网络部分)。 我希望这能有所帮助

这是我的设置
请检查您的mongod.conf文件,并确保授权设置为已启用(在安全部分) 如果要从服务器外部连接MongoDB,请同时从mongod.conf文件中删除绑定ip(在网络部分)。 我希望这能有所帮助

这是我的设置
该错误是由于在默认数据库(
test
)中创建用户并使用
admin
数据库进行身份验证而导致的

如果连接时未指定数据库名称,则
mongo
shell将默认为
test
数据库

您缺少的是在创建用户之前切换到
admin
数据库

此命令序列应能正常工作:

$ mongo

> use admin

> db.createUser({
    user:'root',
    pwd:'hunter2',
    roles:[{role:'root',db:'admin'}]
})

$ mongo -u root -p --authenticationDatabase admin
正如@Kevin之前所回答的,您需要启用auth来告诉MongoDB强制执行身份验证如果不启用身份验证,MongoDB将对您进行身份验证,但不会强制执行授权。这可以通过使用配置文件添加
安全性
部分来实现,或者使用
--auth
参数启动
mongod


有关MongoDB的安全功能和最佳实践的更多详细信息,请参阅。

该错误是由于在默认数据库(
测试)中创建用户并使用
管理数据库进行身份验证而导致的

如果连接时未指定数据库名称,则
mongo
shell将默认为
test
数据库

您缺少的是在创建用户之前切换到
admin
数据库

此命令序列应能正常工作:

$ mongo

> use admin

> db.createUser({
    user:'root',
    pwd:'hunter2',
    roles:[{role:'root',db:'admin'}]
})

$ mongo -u root -p --authenticationDatabase admin
正如@Kevin之前所回答的,您需要启用auth来告诉MongoDB强制执行身份验证如果不启用身份验证,MongoDB将对您进行身份验证,但不会强制执行授权。这可以通过使用配置文件添加
安全性
部分来实现,或者使用
--auth
参数启动
mongod


有关MongoDB的安全功能和最佳实践的更多详细信息,请参阅。

hi,我将mongod.conf的内容复制到了问题中。我不知道如何设置授权…我只是添加配置文件。我希望能帮上忙。你们重启服务了吗?请尝试运行“sudo service mongod restart”我在尝试登录时也添加了引号:mongo-u“您的姓名”-p“您的密码”--authenticationDatabase“admin”我相信您已经很接近了。:)我希望其他人能给你更多的思考。嗨,我复制了mongod.conf的内容来回答这个问题。我不知道如何设置授权…我只是添加配置文件。我希望能帮上忙。你们重启服务了吗?请尝试运行“sudo service mongod restart”我在尝试登录时也添加了引号:mongo-u“您的姓名”-p“您的密码”--authenticationDatabase“admin”我相信您已经很接近了。:)我希望其他人能给你更多的思考。