![](/img/trans.png)
[英]Connect from Windows client to Ubuntu 18.04 with installed Samba not working
[英]Unable to connect to MongoDb installed on a guest Ubuntu VM from Java Client on host Windows
我无法从Java客户端连接到MongoDB实例。 MongoDb实例安装在VirtualBox内的Ubuntu VM会话上。 当我从Ubuntu中的Mongo shell运行命令时,Mongo可以正常工作-但我无法从Windows 7 Intellij会话连接到它。
我的Java客户端代码如下,
package com.mycom.mongodb.demo;
import com.mongodb.MongoClient;
public class App
{
public static void main( String[] args )
{
MongoClient mongoClient = new MongoClient("192.168.171.68", 27017);
mongoClient.getDatabaseNames().forEach(System.out::println);
}
}
但是我收到如下所示的错误消息。
我可以ping通我的Ubuntu盒的IP地址,但不能通过telnet到运行MongoDb的IP:Port。
这是我的mongo.cfg文件
MongoDb在Ubuntu机器上的LocalHost上运行-也许这是我需要配置的区域? 任何帮助,将不胜感激。
这是我启动mongod的命令行
sudo /opt/mongodb/mongodb-linux-x86_64-ubuntu1604-3.6.3/bin/mongod --config /var/opt/mongodb2/mongo.cfg
更新:如果我包含“ --bind_ip_all”参数,则可以使它正常工作
须藤/opt/mongodb/mongodb-linux-x86_64-ubuntu1604-3.6.3/bin/mongod --bind_ip_all --config /var/opt/mongodb2/mongo.cfg
我想这对于一个小型演示程序是可以的,但不能作为永久解决方案
我使用@CodeCaster提供的链接找到了答案-谢谢。
我将“ bindIp”条目添加到“ mongo.cfg”文件中,如下所示。 这是我的Ubuntu VM的IP地址,可以通过终端窗口中的“ ifconfig”找到它。
robbie70@robbie70-vm-ubuntu64:~$ more /var/opt/mongodb2/mongo.cfg
net:
port: 27017
bindIp: 192.168.171.68
systemLog:
destination: file
path: "/var/opt/mongodb2/logs/mongodb2.log"
logAppend: true
quiet: false
storage:
dbPath: "/var/opt/mongodb2/data"
现在,当我启动MongoDb时,我没有在命令行中指定“ --bind_ip_all”,
sudo /opt/mongodb/mongodb-linux-x86_64-ubuntu1604-3.6.3/bin/mongod --config /var/opt/mongodb2/mongo.cfg
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.