前面我们介绍过MongoDB的可视化管理工具Robo 3T,那么你在配置好MongoDB之后是要开始进行连接的,基本上是不会让你正常连接成功的🌞,这篇文章就来简单说一下吧!
报错Error: Failed to execute “listdatabases” command
安装完成以后使用Robo 3T连接Mongo的时候你会出现Error: Failed to execute "listdatabases" command
的错误提示,原因是因为没有指定数据库的登录权限,因为mongodb安装以后只在cmd中进行本地访问,所以要使用图形界面就需要使用登录账号及密码。
1、开启认证
MongoDB默认安装完成之后,只允许使用本地连接,所以我们需要给mongo设置账号和密码,我是安装在E盘的,你可以根据自己的安装路径操作
E:\mongodb\bin\mongod.exe --dbpath e:mongodb\data --logpath e:\mongodb\data\log\mongodb.log --logappend --auth --service
2、创建管理员用户
use admin
switched to db admin
> db.createUser({user:"admin",pwd:"password",roles:["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
3、认证登录
db.auth("admin","password")
4、MongoDB role类型
数据库用户角色read:授予用户只读数据的权限
readWrite:授予用户读写数据的权限
数据库管理角色dbAdmin:当前db中执行管理操作
dbOwner:当前DB中执行任意操作
userAdmin:当前DB中管理User
报错Network error while attempting to run command ‘saslStart’ on host ‘localhost:27017’
如果你在完成上面的操作之后还是不能正确连接Robo 3T的话,这里可能会爆:Network error while attempting to run command 'saslStart' on host 'localhost:27017'
的错误,你可以到你的日志中查看一下是否存在下面的信息:
2019-08-28T10:48:44.028+0000 E - [conn6] Assertion: Location34348: cannot translate opcode 2010 src/mongo/rpc/message.h 120
opcode = operation code,即操作代码2010不认识。查看message.h源码可以发现,2010是一个不再使用的操作代码,简单地说,你的客户端使用了一个并未公开的操作代码,并且该操作在3.6已经标记为过时了,4.2正式移除。所以你需要更新你的Robo 3T为最新版本即可。
MongoDB连接常见错误
如果连接时出现connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb2019-07-18T15:02:35.529+0800 E QUERY [js][/js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: ����Ŀ�����������ܾ��������ӡ� :
的错误,就是你MongoDB没有启动,按照以前的方法启动即可,这里你如果配置为系统服务的话,就可以直接启动了,不用再去bin目录打开两个命令窗口了。
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!