大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

最近在学习mongodb,但是在开始使用Java连接虚拟机mongodb的时候却发生了这个异常,因为我配置了log4j

异常如下:

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

显示的是,拒绝连接。

之后我开始检查相关的配置:

网络

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

hosts:

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

防火墙:

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

Mongodb的shell也可以正常使用:

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

实在找不到问题的时候,被大佬指点了一下,查看了一下我的配置文件:

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

之后让我配置了:

bind_ip=0.0.0.0

重启mongodb就正常了。

这是为什么呢?

于是我百度了一下:

大概意思就是说,从mongodb 3.6版本之后,它把bind_ip的值默认为localhost,这样只能使用localhost去登录才能进入

大数据 Java连接Mongodb com.mongodb.mongosocketopenexception异常(已解决)

而我的虚拟机里面的配置并不是本机的IP,所以无法登陆,

只要把bind_ip改成0.0.0.0就可以使用任何IP登陆了。

文章参考地址:https://www.jb51.net/article/152023.htm