当前位置:数据库 > mongodb >>

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

mongodb的连接问题,绑定IP惹的祸
 
刚刚安装好了 mongodb 。对着 mongodb in action上的例子敲了下面的代码:
 
[java] 
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。重新运行上面的代码,测试通过。
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,