启动项目报错:

com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized for query on game.UserMuted' on server ip_mongodb:27001

at com.mongodb.connection.ProtocolHelper.getQueryFailureException(ProtocolHelper.java:93)

at com.mongodb.connection.QueryProtocol.receiveMessage(QueryProtocol.java:288)

at com.mongodb.connection.QueryProtocol.execute(QueryProtocol.java:229)

at com.mongodb.connection.QueryProtocol.execute(QueryProtocol.java:38)


两种情况都可能会导致报错:

  1. 需要登录校验的情况:确认账号密码是否错误

首先确定,当前系统访问MongoDB时,是否需要账号密码登录,如果需要,则验证是否是账号密码用错了。

  1. 无需登录校验的情况:

我的项目只在服务端调用当前设备的MongoDB,不用登录校验,所以 系统的Mongo相关配置中没有配置登录相关的属性。

相应的,也需要将MongoDB的配置文件中,安全校验相关的属性auth值 设置为false:不进行校验(不校验账号密码)

项目中未使用账号密码:如果MongoDB端口对外开放,强烈建议使用账号密码校验!!!!

项目中未使用账号密码,所以要修改MongoDB的配置文件auth属性值,改完之后,重启MongoDB 重启项目即可:

修改后,重新运行项目,通过


其他:

如果是本地开发环境 且用的是宝塔管理的本地软件,可以直接在宝塔面板中修改这个配置 并重启mongo

重启mongo

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐