mongodb的连接问题,绑定IP惹的祸

系统 1588 0

刚刚安装好了 mongodb 。对着 mongodb in action上的例子敲了下面的代码:

 

    public class TestDBConnect {

	@Test

	public void testdb() {



		MongoClient mongoClient = null;

		try {

			mongoClient = new MongoClient("xx.xx.xx.xx", 27017);

		} catch (UnknownHostException e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

		}



		DB db = mongoClient.getDB("crawler");

		DBCollection coll = db.getCollection("sites");



		DBObject doc = new BasicDBObject();

		String[] tags = { "database", "open-source" };



		doc.put("url", "org.mongodb");

		doc.put("tags", tags);



		DBObject attrs = new BasicDBObject();

		attrs.put("lastAddress", new Date());

		attrs.put("pingtime", 20);



		doc.put("attrs", attrs);



		coll.insert(doc);



		System.out.println("Initial document:n");

		System.out.println(doc.toString());



		System.out.println("updating pingtime...n");

		coll.update(new BasicDBObject("_id", doc.get("_id")),

				new BasicDBObject("$set", new BasicDBObject("pingtime", "30")));



		DBCursor cursor = coll.find();

		System.out.println("After updaten");

		System.out.println(cursor.next().toString());

		System.out.println("Number of site documents:" + coll.count());

		System.out.println("Removing documents...");



		coll.remove(new BasicDBObject());

	}

}
  


上面服务器的IP 用XX.XX.XX.XX隐去了,运行之后报了错:

 

九月 20, 2013 10:19:52 上午 com.mongodb.DBTCPConnector initDirectConnection
警告: Exception executing isMaster command on localhost/xx.xx.xx.xx:27017
java.net.ConnectException: Connection refused: connect

说白了就是连接不上。

说明一下网络情况:

安装了mongodb的是一台Linux服务器,IP是aa.bb.cc.dd,本机运行java程序去链接。

接下来我又尝试了,在本机上运行mongo客户端 使用

mongo aa.bb.cc.dd来连接,同样失败。

不死心,ssh到服务器上,使用mongo aa.bb.cc.dd来连接,失败,我擦!

不加IP,或者使用mongo 127.0.0.1 可以连接上,到这儿我基本猜出了问题的原因了,mongodb的数据库实例被绑定到了127.0.0.1这个IP了,使用外网IP无法访问。

打开/etc/mongodb.conf.

bind_ip = 127.0.0.1这一行替换为

bind_ip = aa.bb.cc.dd。重新运行上面的代码,测试通过。

 

mongodb的连接问题,绑定IP惹的祸


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论