本文主要是介绍解决Robo 3T连接MongoDB时出现 Error: Failed to execute “listdatabases” command错误的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
连接centOS上mongoDB时出现如下错误:
浏览器运行http://xx.xxx.xxx.xx:27017/ 说明外网可以访问了。
It looks like you are trying to access MongoDB over HTTP on the native driver port。
说明是数据库为了安全使用Robo 3T连接时还需要使用账号密码验证
所以先创建个用户,也安全一点,在centos上先用mongo连接数据库,然后创建用户和密码
1. 创建管理员用户
use admindb.createUser({user:"admin", pwd: "123456", roles: ["root"]})db.auth("admin", "123456")
由于admin用户是root超级权限,用这个账户就可以访问所有数据库了。
2. 添加数据库用户
比如自己的数据库叫mall
use malldb.createUser({user: "name", pwd: "123456", roles: [{ role: "dbOwner", db: "mall" }]})
dbOwner:表示在当前数据库中可以执行任意操作
如图所示,这样连接就可以成功了。
3. 如果还是连接不上,提示如下则是说明Robo 3T的版本太低了,需要换成1.3及以上的版本(Robo 3T-1.3才能支持MongoDB 4.X)
这篇关于解决Robo 3T连接MongoDB时出现 Error: Failed to execute “listdatabases” command错误的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!