mongodb3.0远程连接认证失败
程序员文章站
2022-05-09 17:00:15
...
最近用到mongodb,在阿里云服务器上面直接
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 下载安装包,安装的linux-64bit,version:3.0.6
安装完成之后,根据网上设置了用户和密码
dbpath=/usr/mongodb/data
logpath=/usr/mongodb/logs/mongodb.log
bind_ip=0.0.0.0
logappend=true
port=27017
fork=true
auth=false //设置用户之前,先不要设置认证,否则启动后,设置用户需要各种权限,建议用户角色分配好后再改成ture。重启后这样就可以正常使用权限
开始设置好用户直接重启,本地登录认证都ok,远程认证总是失败,网上找了各种资料,都没有进行说明,找了很久,终于发现一篇文章告诉mongodb3.0认证信息需要修改才能进行连接
修改命令如下,进入shell:
> use admin switched to db admin > var schema = db.system.version.findOne({"_id" : "authSchema"}) > schema.currentVersion = 3 3 > db.system.version.save(schema) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在修改完成之后再创建用户。下面附带创建数据库用户的shell:
1 创建一个root用户:
use admin db.createUser( { user: "root", pwd: "123456", roles: [ "root" ] } )
2 创建admin用户
use admin db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
3 创建具体数据库的用户
use test db.createUser( { user: "test", pwd: "password", roles: [ { role: "userAdmin", db: "test" } ] } )
最后都要认证一下
db.auth("user", "pwd")
返回1代表成功,0代表失败。
然后把mongodb.conf文件中的auth=true,再重新启动mongodb。就可以进行远程连接了
推荐阅读
-
连接到SQL Server 2008时,在默认的设置下SQL Server不允许进行远程连接可能会导致此失败(Microsoft SQL Server,错误:1006
-
L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误
-
PLSQL 连接远程数据库,ORA-12638: 身份证明检索失败的解决方法
-
linux配置mysql数据库远程连接失败的解决方法
-
SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
-
解决SQLServer远程连接失败的问题
-
服务器开启远程连接失败怎么解决
-
sql 2005不允许进行远程连接可能会导致此失败的解决方法
-
远程桌面连接一台关联无线的电脑(A)时,A电脑无线总是断开导致远程桌面连接失败
-
mongodb 3.4下远程连接认证失败的解决方法