我在 ubuntu 14.04 上启动了mongod服务器并作为服务运行,我启动了mongo shell 并创建了一个用户。
db.createUser( {
user: "testAdmin",
pwd: "12345678",
roles: [ { role: "userAdmin", db: "students" } ]
} )
之后,我更改了编辑mongod.conf并设置auth=true并重新启动了mongod服务器作为服务。
毕竟,当我想用用户testAdmin启动mongo shell时。
mongo -u testAdmin -p 12345678 --authenticationDatabase students
但我无法登录,这给了我错误。
MongoDB shell version: 3.2.10
connecting to: 127.0.0.1:25018/test
2016-10-13T05:56:27.500+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:25018, reason: errno:111 Connection refused
2016-10-13T05:56:27.500+0000 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:25018, connection attempt failed :
首先,当我指定数据库学生时,为什么要尝试连接到测试?其次,我知道 mongodb 中的 userAdmin 角色不适用于使用 userAdmin 在数据库中读/写我只能管理用户角色。但是要管理其他用户,我仍然需要登录 mongo shell。
当我在 mongod.conf 中关闭身份验证时它正在工作,所以其他事情都很好,只有身份验证不起作用。