MongoDB无法连接认证失败

MongoDB无法连接认证失败,第1张

问题

1. 在开发工具总配置文件中配置URI后,启动程序无法连接mongodb,uri如下:

    spring.data.mongodb.uri : mongodb://name:password@ip:27017/dbname ,

但是如下配置(无用户名和密码)可以正常连接,uri如下:

   spring.data.mongodb.uri : mongodb://ip:27017/dbname

2. MongoVUE客户端输入用户名和密码连接mongodb失败,不输入用户名和密码时连接成功。

解决:

修改配置文件:

vi /etc/mongod.conf  ,找到#security: 取消注释,修改为:

security:

    authorization: enabled #注意缩进,缩进参照配置文件其他配置,要不有可能会启动不成                                               功。

重启mongodb:

docker stop container_id

docker start container_id   #container_id : mongodb对应的id

结果:

1. 启动项目时可以正常连接mongodb成功

2. 如果mongovue客户端连接还是不成功,可能是客户端和服务端版本问题,请自行百度解        决。

说明:

此类的问题没有标准解决方案,因为个人的 *** 作执行命令的过程都不一样,如果未能解决你的问题,请再深入研究,此方案针对本人的问题已解决。以上过程省略了创建用户的过程,此过程自行 *** 作。

安装版本: db version v4.2.6

MongoDB默认安装并没有开启用户名密码登录,这样太不安全。首先开启一个无需验证用户的MongoDB服务后,进入MongoDB的shell控制台创建用户:

创建用户后,关闭连接,进入正题:

安装路径: D:PROGRA~1\MongoDB\Server\4.2\bin\

配置文件中添加 authorization 项 ,配置文件地址如下,没有可创建 D:PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg

配置文件内容如下:

配置好之后注册服务:

启动服务:

net start MongoDB

遇到的问题:

Error1:

F CONTROL [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services

Error2:

Error parsing YAML config file: yaml-cpp: error at line 2

以上都是配置文件配置问题,注意文件中不要出现单引号,双引号之类的;

配置项每层缩进都是4个空格,不要用tab缩进

Error3:

控制台显示服务未注册

这个一般是注册服务的命令有引号错误或者路径错误,检查有没有少斜线。正常的注册完服务并启动时,会显示服务已开启。

新开窗口进入mongodb的shell控制台验证:

参考链接:

Mongodb学习(4)通过配置文件启动mongod

windows系统,MongoDB开启用户验证

解决“Error parsing YAML

权限认证已ok


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6724394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存